-
Notifications
You must be signed in to change notification settings - Fork 158
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
Changed pi_context to ur_context_handle_t and include pi.hpp to ur.hpp #546
Changed pi_context to ur_context_handle_t and include pi.hpp to ur.hpp #546
Conversation
Hi Konrad,
|
Hi Hugh, Yes, we've realized this would break compatibility with previous DPC++ releases so I'm working on adding some ifdefs. I'll provide the test logs as well. |
Sorry for a delay with this as I was sick. Here are the logs when using 2024.2.1 DPC++: nvidia_test_main_lapack_rt.txt For 2025 DPC++ testing there are some failures with both Nvidia and AMD but I think they are unrelated to this patch. Likely the problem is with the compiler but I'm still investigating those. |
Looks like this is the fix for #558 that I just opened. |
@oneapi-src/onemkl-admin this change is needed to get the CI working with a nightly compiler, a second approval would be useful. |
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 all looks fine to me. Should we have someone from @oneapi-src/onemkl-lapack-write take a quick look at the solvers changes?
Ideally yes but I am planning to merge this tomorrow morning unless I hear an objection. |
|
||
// After Plugin Interface removal in DPC++ ur.hpp is the new include | ||
#if __has_include(<sycl/detail/ur.hpp>) | ||
#include <sycl/detail/ur.hpp> |
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.
Please note that instead of removing a footgun you have just reloaded it so it will fire at you once again in upcoming months (or years) when we drop UR in favor of something else.
You should not use implementation details like this in your project. Why aren't use using the official SYCL interop interface, i.e. backend_return_t<your_backend, context>
?
I'm also surprised that you are changing the type of that variable without changing any of its uses, meaning that the type doesn't matter for you because it will be erased at some point. Wouldn't it be better to use some opaque type right away to avoid dependency on particular SYCL implementation?
Description
After plugin interface removal patch in intel/llvm, the oneMKL build broke. This PR fixes it by:
#include pi.hpp
tour.hpp
pi_context
tour_context_handle_t
Also, for the build to work correctly again, this patch is needed: