-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Implements getNative() interoperability for Level Zero #1723
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
Changes in this PR are on top of #1718. |
…ion (#1846) The implementation is following https://github.com/KhronosGroup/SYCL-Shared/blob/master/proposals/sycl_generalization.md. It is OpenCL centric, and a Level-Zero counterpart is coming here: #1723 An important "side-effect" is that plugins are initialized from these APIs and not only from get_platforms() in the current state. Signed-off-by: Sergey V Maslov <sergey.v.maslov@intel.com>
Sorry for the force push. I just rebased without any changes to the patch, otherwise there are too many commits which were already merged and cause confusion. |
* New backend which implements interoperability for Level Zero. L0 interop handler getters and "make" functions for the following objects are implemented: platform, device, queue, program, accessor. * getNative() interoperability for the platform and program. Changes to ABI are non-breaking (new symbols are exported). Changed version of the sycl library accordingly. Author: Sergey V Maslov <sergey.v.maslov@intel.com> Signed-off-by: Artur Gainullin <artur.gainullin@intel.com>
@keryell Sorry, marked your comments as resolved because they are regarding the plugin which is not a part of this PR. |
@s-kanaev Could you please review. |
|
||
#pragma once | ||
|
||
//#include <ze_api.h> This should be included from user code |
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 should be aligned with CL/sycl/backend/opencl.hpp
. It includes (though, indirectly) the CL/cl.h
file.
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.
Fixed.
…ecorations (intel#1723) It was found that the decorated variables (results of ptr.annotation intrinsic) are not used in further instructions unlike the input source. The issue is present for the reverse translation of multiple UserSemantic decorations. This change fixes the reverse translation of multiple ptr.annotation intrinsics on the same class field. With this, the result of intrinsic is not lost and actually reused in further intrinsics and instructions. Original commit: KhronosGroup/SPIRV-LLVM-Translator@308daff
…ecorations (intel#1723) It was found that the decorated variables (results of ptr.annotation intrinsic) are not used in further instructions unlike the input source. The issue is present for the reverse translation of multiple UserSemantic decorations. This change fixes the reverse translation of multiple ptr.annotation intrinsics on the same class field. With this, the result of intrinsic is not lost and actually reused in further intrinsics and instructions. Original commit: KhronosGroup/SPIRV-LLVM-Translator@308daff
Commit includes:
Changes to ABI are non-breaking (new symbols are exported). Changed version of the sycl library accordingly.
Author: Sergey V Maslov sergey.v.maslov@intel.com
Signed-off-by: Artur Gainullin artur.gainullin@intel.com