-
Notifications
You must be signed in to change notification settings - Fork 159
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
[LAPACK][mkl?pu] Align oneMKL backend with const correctness changes in oneMKL 2025.0 #606
[LAPACK][mkl?pu] Align oneMKL backend with const correctness changes in oneMKL 2025.0 #606
Conversation
@dnhsieh-intel - the clang-format check and provided diff file works perfectly! Thank you!! The MKL LAPACK CPU tests are expected to fail with these changes because it is using the currently-available oneMKL 2024.2 release, while this PR is addressing upcoming changes in the oneMKL 2025.0 release. This PR should not be merged until the oneMKL 2025.0 release is publicly available. |
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.
LGTM
@Rbiessy - any concerns with this PR? Thanks! |
@sknepper, if you're asking if I have concerns with respect to the renaming PR then no. I'll make sure to solve these conflicts after I get some reviews. I was thinking that it's not a great design that we need this header in oneMKL Interface, this is only duplicating the Intel oneMKL product header. With the renaming PR it will be much easier to include Intel oneMKL product header without conflict so I will be able to remove this header and this kind of PR won't be needed anymore. Similarly for the blas domain. Other than this we will have a circular dependency issue since this PR is needed to get the CI working with 2025.0 and the merging of this PR is blocked until the CI can use 2025.0. You need to either:
|
Thanks, @Rbiessy ! I was interested both about concerns with renaming and any general concerns as well.
If such a change is possible, that would be great! I was under the impression that the header files here and in BLAS were needed because of the run-time dispatching capability in the interfaces.
Cool, I didn't know where the CI changes were located. Looks like we're actually a little outdated (using oneMKL 2024.1). Let me try updating that in this PR. |
And that failed spectacularly. =) |
… 2025.0.0" This reverts commit 3b5d7b4.
I pulled in @rscohn2 's changes from #610 (along with the change requested by @dnhsieh-intel ). |
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.
Compiler installs look good! I will close my PR.
Description
Intel oneMKL 2025.0 updates LAPACK SYCL USM APIs to be const correct for input arrays. The internal APIs used for the Intel oneMKL backend for LAPACK need to be updated.
With these changes, the oneMKL/oneMath interfaces will work with Intel oneMKL 2025.0 and future versions. Previous versions of Intel oneMKL will have build failures. If needed, we can support previous versions with macros and slightly uglier code.
Checklist
Even though these changes don't impact NVIDIA or AMD GPU backends, testing was run and all tests passed on these platforms as well (same numbers as above).