-
Notifications
You must be signed in to change notification settings - Fork 172
[DFT] Support AdaptiveCpp in cuFFT and rocFFT backends #665
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
Rbiessy
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.
Looks good to me, great work!
|
I have two minor things to clarify:
|
Still support older releases with different macro naming
|
Thank you for looking into this, @anantsrivastava30!
Fair point, I suppose we should still support the old releases (from before the renaming) until we make a decision to drop them (if we ever do). I added the support for old versions in e100870 as suggested, but please note I only tested this with the latest AdaptiveCpp and cannot guarantee the project actually compiles with hipSYCL 0.9.4 or older. I'd like to know if there are any users requiring or strongly interested in old hipSYCL support in oneMath before taking on further work in this direction.
Not at the moment. The support for AdaptiveCpp/hipSYCL in oneMath is currently somewhat limited and inconsistent. I'm working towards improving the situation in small steps, backend by backend. I do plan addressing your point in the future, though it might need a discussion first on whether we keep supporting both names or only the new one. We had an attempt at moving to the new naming in #543, but sadly the author has left the team before they could finish the work. |
anantsrivastava30
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.
| inline void change_queue_causes_wait(sycl::queue& busy_queue) { | ||
| inline void change_queue_causes_wait([[maybe_unused]] sycl::queue& busy_queue) { | ||
| // Skip this test in AdaptiveCpp, which doesn't support host_task | ||
| #if !defined(__ADAPTIVECPP__) && !defined(__HIPSYCL__) |
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.
Why do we need both here and not just !defined(__ADAPTIVECPP__)?
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 was requested in the review from @anantsrivastava30 above. I agreed as the old macros are used throughout the project and we haven't really discussed if we want to drop them. We had an attempt in #543 but the author doesn't work on this any more. I'd be happy to come back to this in a future PR, continuing the work from #543.
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.
okay, thanks I missed this discussion.
lhuot
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.
Looks good to me as well. Thanks for the changes!
Description
Ensure the cuFFT and rocFFT backends compile and run with AdaptiveCpp. The changes required are minimal and come from:
ext_oneapi_cudavscuda)host_taskin AdaptiveCppChecklist
Do all unit tests pass locally? Attach a log.
Have you added relevant regression tests? Not needed - existing unit tests cover all the features and work with AdaptiveCpp.
Have you included information on how to reproduce the issue (either in a
GitHub issue or in this PR)? Compile with
-DENABLE_MKLCPU_BACKEND=False -DENABLE_MKLGPU_BACKEND=False -DENABLE_CUFFT_BACKEND=True -DBUILD_FUNCTIONAL_TESTS=True -DBUILD_EXAMPLES=True -DONEMATH_SYCL_IMPLEMENTATION=hipsycl -DHIPSYCL_TARGETS=generic -DCMAKE_CXX_COMPILER=acpp