-
Notifications
You must be signed in to change notification settings - Fork 797
[SYCL][UR] Use static cast instead of ur::cast #14830
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
Have done so. Thanks @omarahmed1111 |
UR cast is using reinterpret cast under the hood, which was failing for an unsigned long being cast to an unsigned long long. This is probably a compiler bug but this works around the issue for now.
ping @intel/llvm-reviewers-runtime @bso-intel this patch is small and important as it fixes the oneMKL build for CUDA and HIP |
Thanks @KseniyaTikhomirova . Ping @intel/llvm-gatekeepers this can be merged. |
Unlikely HIP is related, merging now. |
UR cast is using reinterpret cast under the hood, which was failing for an unsigned long being cast to an unsigned long long. From the C++ spec: > An expression of integral, enumeration, pointer, or pointer-to-member type can be converted to its own type. The resulting value is the same as the value of expression. Since `unsigned long` is not the same type as `unsigned long long`, the `reinterpret_cast` fails. Ping @aarongreig
UR cast is using reinterpret cast under the hood, which was failing for an
unsigned long being cast to an unsigned long long. From the C++ spec:
Since
unsigned long
is not the same type asunsigned long long
, thereinterpret_cast
fails.Ping @aarongreig