-
Notifications
You must be signed in to change notification settings - Fork 173
[LAPACK][rocSOLVER] Update rocSOLVER backend #393
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][rocSOLVER] Update rocSOLVER backend #393
Conversation
sknepper
left a comment
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 is great, thanks @jle-quel ! I just had a couple questions, plus one small note.
These changes seem to include the main change from my #388 pull request, plus some extra benefits. However, I had also fixed a few deprecation warnings by including <rocblas/rocblas.h> and <rocsolver/rocsolver.h> instead of just <rocblas.h> and <rocsolver.h> in src/lapack/backends/rocsolver/rocsolver_helper.hpp and src/lapack/backends/rocsolver/rocsolver_task.hpp
It's not required, but you could consider making that change in this PR and I can just close the previous one.
|
/intelci: run |
Thank you, |
Not sure what the CI does, but running tests on this PR now, will not return the same results I shared in the description. |
Thanks for the clarification! A passing CI is not currently required (and there are other issues that are unrelated to your PR that are also impacting it), but figured I'd run both that and manual testing, but neither of those have the ExtendedDeleter fix. For me, all of the compile-time dispatching tests passed, while some of the run-time dispatching ones segfaulted (until they eventually just stopped running) - which seems to be expected without the ExtendedDeleter fix. |
sknepper
left a comment
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, @jle-quel ! These changes look good to me.
|
I'll mark this PR as |
Description
This PR updates the rocSOLVER backend in order to fix the multiple race conditions seen in this backend, as well as some small cleaning and
ifdefto support other sycl implementation modifications.Here's the full list of modifications and what they fixed:
ifdefto support the different names of the hip backend given by the different sycl implementations.devInfologic in the library which calls HIP functions which do not accept and setdevInfo.example_lapack_getrs_usmlapack_info_checkwas not correctly waiting on thesycl::queuewhich created a race condition when readingdevInfo. The wait has been moved to wait for all overloads, as well as the addition of anotherwaitto let thememcpyfinish.onemkl_rocsolver_host_tasknow usesROCSOLVER_ERROR_FUNC_T_SYNCto synchronize theHIPStream. (Similar to [RNG][rocRAND] Update rocRAND backend #376)parrallel_foronhost_taskviadepends_on.Checklist
All Submissions
example_lapack_getrs_usm.log.txt
test_main_lapack_ct.log.txt
test_main_lapack_rt.log.txt