-
Notifications
You must be signed in to change notification settings - Fork 30
Remove use of DPC++ features deprecated in 2021.4 and open source intel/llvm compiler #603
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
520512e
to
108cb77
Compare
108cb77
to
c3c4276
Compare
This change works well with oneAPI 2021.4. I just rebased the branch on top of the master. Unless we want to maintain backward compatibility with 2021.3, we could just merge this. If maintaining compatibility is an option, we need a type for |
@diptorupd ping |
60f589c
to
43b1f76
Compare
Coverage drop is entirely in Python API and is due to change in #606, additional tests should be added in a separate PR. In fact the coverage of dpctl-capi increased. |
sycl::vector_class is deprecated in 2021.4, and completly removed in open source compiler. The packages compiles using open source SYCL compiler after these changes.
In oneAPI 2021.3 the namespace of filter_selector class is different
Remove all uses of type conversions of Vector and underlyng C++ classes Used DPCTLDevice_CreateSubDevicesEqually instead of building the vector explicitly and casting it to DPCTLDeviceVectorRef.
50285f7
to
ab07506
Compare
@@ -82,8 +82,13 @@ __dpctl_give DPCTLSyclDeviceSelectorRef DPCTLCPUSelector_Create() | |||
__dpctl_give DPCTLSyclDeviceSelectorRef | |||
DPCTLFilterSelector_Create(__dpctl_keep const char *filter_str) | |||
{ | |||
#if __SYCL_COMPILER_VERSION < 20210925 |
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.
Do we need this if-def or should just supporting 2021.3 and up be enough?
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.
We need it. The change happened between 2021.3 and 2021.4. We need both, since coverage does not work in 2021.4
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.
aha right. OK
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.
Thanks!
Also replaced
sycl::ONEAPI::filter_selector
withsycl::ext::oneapi::filter_selector
The packages compiles using open source SYCL compiler after these changes, specifically I used
Only one meaningful failure in the so compiled package:
but not sure of the cause.
This change closes #602, although I think changes here will need adjustments to ensure the package can be built by using both newer and older compiler versions.