-
Notifications
You must be signed in to change notification settings - Fork 734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SYCL] Add experimental implementation of sycl_ext_intel_grf_size #9882
Conversation
sycl/doc/extensions/experimental/sycl_ext_intel_grf_size.asciidoc
Outdated
Show resolved
Hide resolved
llvm/test/SYCLLowerIR/CompileTimePropertiesPass/kernel-attributes/grf-size.ll
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a question about long-term implementation support for this. dpc++ tools changes look good. Please address comment.
Thanks
inline constexpr register_alloc_mode_key::value_t<Mode> register_alloc_mode | ||
__SYCL_DEPRECATED("register_alloc_mode is deprecated, " | ||
"use sycl::ext::intel::experimental::grf_size or " | ||
"sycl::ext::intel::experimental::grf_size_automatic"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@stdale-intel - Do we want to deprecate this? It has not been in a release yet, to my knowledge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From my POV at least we shouldn't remove it right now, otherwise all of the clients who just ported to using it would have to make yet another change to their code, annoying them even further.
Sorry for the force-push, my original HEAD had CI failing even with no changes. |
@intel/dpcpp-tools-reviewers @AlexeySachkov ping on this one? thanks! |
@steffenlarsen do you mind formally approving this pr? my impression is you are alright with it (hopefully that's not a misread :) ), we technically have runtime approval from slava, but i don't think he is working closely in the runtime area at the moment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
@intel/llvm-gatekeepers This one is ready for merge, thanks! |
This change implements
sycl_ext_intel_grf_size
, and in particular:sycl_ext_intel_grf_size
spec document from theproposed
folder to theexperimental
folder, and updates the implementation status in the document to match.sycl::ext::intel::experimental::grf_size
andsycl::ext::intel::experimental::grf_size_automatic
, as per the spec.grf_size
adds thesycl-grf-size
metadata with a value of the template parameter (128
or256
).grf_size_automatic
adds thesycl-grf-size
metadata with a value of0
.sycl::detail::register_alloc_mode
property as deprecated, and it still works as before.CompileTimePropertiesPass.cpp
to map thesycl-grf-size
metadata added by the front-end to theRegisterAllocMode
metadata whichllvm-spirv
looks for. ThisRegisterAllocMode
metadata is how AOT works.sycl-post-link
to split by thesycl-grf-size
metadata, have asycl-grf-size
binary property, and do a error check to make sure the deprecatedsycl::detail::register_alloc_mode
andgrf_size
/grf_size_automatic
are not set at the same time on the same kernel.program_manager
to deal with the new image property and pass the right flags