-
Notifications
You must be signed in to change notification settings - Fork 740
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][Doc] Add device global extension spec #4233
[SYCL][Doc] Add device global extension spec #4233
Conversation
Signed-off-by: Michael Kinsner <michael.kinsner@intel.com>
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.
A few minor formatting suggestions, but on the whole LGTM.
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
…idoc Co-authored-by: John Pennycook <john.pennycook@intel.com>
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
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.
Quite useful and simple to use!
This is simpler than https://github.com/triSYCL/triSYCL/blob/master/tests/scope/queue.cpp proposal and the fact you can access globally a variable is very powerful to avoid passing handler or context all over the place.
Do you have also a pure host library implementation not requiring any specific compiler?
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
…idoc Co-authored-by: Ronan Keryell <ronan@keryell.fr>
…idoc Co-authored-by: Ronan Keryell <ronan@keryell.fr>
Our original forms of the extension were designed to be straightforward to implement with a pure library, but the resultant syntax was making the feature too cumbersome to use (e.g. passing device handler through call trees) and broke the value proposition in multiple cases. We decided to prioritize usability with this version, and removed the language aspects that aided lib-only implementation. It's likely still possible to implement that way but with additional complexity - we concluded that clean language was more important in this feature based on feedback and by looking at the motivating uses. |
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
That makes sense. |
…idoc Co-authored-by: Greg Lueck <gregory.m.lueck@intel.com>
…idoc Co-authored-by: Greg Lueck <gregory.m.lueck@intel.com>
…idoc Co-authored-by: Greg Lueck <gregory.m.lueck@intel.com>
…idoc Co-authored-by: Greg Lueck <gregory.m.lueck@intel.com>
…idoc Co-authored-by: Greg Lueck <gregory.m.lueck@intel.com>
Yes, and we agreed recently on a few more changes too. @mkinsner asked me to make the changes myself, so I will create a PR against this PR, and mike will merge my PR into his. After that, we can merge mike's PR into the mainline. |
Thanks for the update. |
@mkinsner told me he agrees with these comments and asked me to make them myself.
@olegmaslovatintel: Can someone merge this PR while @bader is on vacation? I think all outstanding issues have been resolved. |
@vladimirlaz @pvchupin could you please merge? |
* sycl: (108 commits) [SYCL][XPTI] Revisit resource management strategy (intel#4494) [SYCL][ESIMD] Fix misprint: ESIMD_L1_FLUASH_RO_DATA -> ESIMD_L1_FLUSH_RO_DATA (intel#4681) [SYCL] Make kernel_bundle interop more conformant (intel#4672) [SYCL] Submission with kernel parameter ignores set kernel bundle (intel#4667) [SYCL] Add support for std::byte to vec class (intel#4637) [BuildBot] Uplift CPU/FPGAEMU RT version for CI Process (intel#4671) [SYCL] Fix an error on host when big image is used on opencl:gpu (intel#4668) [SYCL] Exclude exported symbols from kernel bundles (intel#4660) Revert "[SYCL] Allow overriding plugin libraries (intel#4067)" (intel#4659) [SYCL] Handle exceptions on mutually exclusive handler operations (intel#4639) [sycl-post-link] Don't split module if function pointer has a user that's not CallInst (intel#4657) [SYCL][HIP] Fix MemBufferFill for nvidia platform (intel#4629) [SYCL][Doc] Describe DPC++ CUDA install w/ non-standard toolkit loc (intel#4663) [SYCL] Fix device code instrumentation (intel#4615) Remove myself as a code owner (intel#4653) [SYCL] Fix overwriting insert to sub_group_mask (intel#4656) [x86][Matrix] Replace packed_a with row_major in matrix testcases (intel#4641) [SYCL][Doc] Add device global extension spec (intel#4233) [sycl-post-link] Adds property listing exported functions (intel#4626) [Driver][SYCL] Do not consider non-archive files for FPGA binary checks (intel#4644) ...
* sycl: (107 commits) [SYCL][XPTI] Revisit resource management strategy (intel#4494) [SYCL][ESIMD] Fix misprint: ESIMD_L1_FLUASH_RO_DATA -> ESIMD_L1_FLUSH_RO_DATA (intel#4681) [SYCL] Make kernel_bundle interop more conformant (intel#4672) [SYCL] Submission with kernel parameter ignores set kernel bundle (intel#4667) [SYCL] Add support for std::byte to vec class (intel#4637) [BuildBot] Uplift CPU/FPGAEMU RT version for CI Process (intel#4671) [SYCL] Fix an error on host when big image is used on opencl:gpu (intel#4668) [SYCL] Exclude exported symbols from kernel bundles (intel#4660) Revert "[SYCL] Allow overriding plugin libraries (intel#4067)" (intel#4659) [SYCL] Handle exceptions on mutually exclusive handler operations (intel#4639) [sycl-post-link] Don't split module if function pointer has a user that's not CallInst (intel#4657) [SYCL][HIP] Fix MemBufferFill for nvidia platform (intel#4629) [SYCL][Doc] Describe DPC++ CUDA install w/ non-standard toolkit loc (intel#4663) [SYCL] Fix device code instrumentation (intel#4615) Remove myself as a code owner (intel#4653) [SYCL] Fix overwriting insert to sub_group_mask (intel#4656) [x86][Matrix] Replace packed_a with row_major in matrix testcases (intel#4641) [SYCL][Doc] Add device global extension spec (intel#4233) [sycl-post-link] Adds property listing exported functions (intel#4626) [Driver][SYCL] Do not consider non-archive files for FPGA binary checks (intel#4644) ...
Add device global extension spec
Signed-off-by: Michael Kinsner michael.kinsner@intel.com