-
Notifications
You must be signed in to change notification settings - Fork 772
[SYCL][Doc] Define buffer_location property for USM allocations #5665
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
Conversation
…device ----------------------------------------------------------------------------------- This serves as a temporary solution to supporting usm buffer location, and it is the easiest to implement. Align with changes in intel#5634 A more complex workaround is to define a new malloc API that accept sycl::ext::oneapi::experimental::properties as its property argument of malloc. The full solution is to define a malloc api that takes sycl::ext::oneapi::experimental::properties as property argument and returns annotated_ptr
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
--------------------------------- 1. remove ipmlemetation details 2. rename extension 3. fix feature test macro to have same name 4. fix name space to be in sycl::ext::intel::experimental::property::usm
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
-------------------------------------------------------------- 1. Remove notes 2. Specify which malloc api accept the property 3. Add more detaile ddescription, and expected behavior when used on non fpga device
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.
This is looking a lot better. Thanks for all the changes. I just have a couple other comments.
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_intel_runtime_buffer_location.asciidoc
Outdated
Show resolved
Hide resolved
…_location.asciidoc Co-authored-by: Greg Lueck <[email protected]>
Oh, I just noticed that this file is added to the "experimental" directory. Is this implemented yet? I think it is not? If it is not implemented, the file should be added to "proposed". It can then be moved to "experimental" in the PR that adds the implementation. Or, if the implementation is simple, you can add the implementation to this PR and use this PR for both the specification and the implementation. |
Thanks, I have moved the spec to proposed folder. The implementation is already in another PR, I will keep it there for now. |
I currently do not have write access to the repo, it will be nice if someone could merge it for me once all the blocking steps are done (if any). |
Most people do not have permission to merge PRs. @bader usually merges them after there is an approval and after testing completes. |
Please, notify @intel/llvm-gatekeepers team when PR is ready for merge. |
@intel/llvm-gatekeepers The PR is ready to merge. |
Lower level runtime's usm allocation API now supports pass in of buffer location property [1] defined in OpenCL spec [2] For this feature to be accessible to users, sycl runtime now passes in usm::buffer_location property defined in sycl spec [3] into the opencl runtime calls, the property is only passed if the extension name occurs in the platform extension string. If the lower level runtime does not support such property, then the property will yield no effect. This is a temporary solution to allow user to specify which memory location the device usm allocation should be in. The full solution will require retuning an annotated_ptr that carries compile time properties for further optimization. The full solution spec is in [4] [1] https://github.com/intel/fpga-runtime-for-opencl/pull/46/files [2] https://github.com/KhronosGroup/OpenCL-Docs/blob/master/extensions/cl_intel_mem_alloc_buffer_location.asciidoc [3] #5665 [4] #5656
This serves as a temporary solution to supporting usm buffer location, and it is the easiest to implement.
Align with changes in #5634
A more complex workaround is to define a new malloc API that accept sycl::ext::oneapi::experimental::properties as its property argument of malloc.
The full solution is to define a malloc api that takes sycl::ext::oneapi::experimental::properties as property argument and returns annotated_ptr