-
Notifications
You must be signed in to change notification settings - Fork 208
Update Alpaka and add support for ROCm #8284
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
Update Alpaka and add support for ROCm #8284
Conversation
Update the version of alpaka to the HEAD of the develop branch as of 2023.02.01,
corresponding to the commit a68c866cc6c .
Major changes:
- remove the functions to pin/unpin an existing buffer; host memory
buffers pinnd/mapped for a particular accelerator platform can be
obtained with `allocMappedBuf(...)`;
- implement accelerator tags, to list all available acceerators;
- drop the Boost.Fiber back-end;
- add support for newer CUDA and ROCm backends;
- add optional support for mdspan
Other changes:
- add deduction guide for `Vec`;
- add elementwise_min and max functions;
- make CUDA/ROCm mangled kernel names as short as possible;
- add math hyperbolic functions;
- refactor `ConcurrentExecPool` and `QueueGenericThreadsNonBlocking`.
- implement trait constants.
|
A new Pull Request was created by @fwyzard (Andrea Bocci) for branch IB/CMSSW_13_0_X/master. @cmsbuild, @smuzaffar, @aandvalenzuela, @iarspider can you please review it and eventually sign? Thanks. |
|
please test with cms-sw/cmssw-config#91, cms-sw/cmssw#40678 |
| <flags CXXFLAGS="-DALPAKA_ACC_GPU_HIP_ENABLED -DALPAKA_HOST_ONLY"/> | ||
| <flags GENREFLEX_CPPFLAGS="-DALPAKA_ACC_GPU_HIP_ENABLED -DALPAKA_HOST_ONLY"/> | ||
| <!-- device comiplation should run without ALPAKA_HOST_ONLY defined --> | ||
| <flags ROCM_FLAGS="-DALPAKA_ACC_GPU_HIP_ENABLED -UALPAKA_HOST_ONLY"/> |
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.
As CXXFLAGS already has -DALPAKA_ACC_GPU_HIP_ENABLED so it is not needed here
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.
Yes, you're right.
However, I've copied this from the CUDA case, and I would prefer to clean them all up together in a separate PR.
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.
-UALPAKA_HOST_ONLY should work too but if you prefer then you can use
<flags REM_ROCM_HOST_CXXFLAGS="-DALPAKA_HOST_ONLY"/>
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.
Following what you told me the other day, I was going to move the flags to CPPDEFINES - but I guess we do not have a REM_CPPDEFINES or REM_ROCM_HOST_CPPDEFINES functionality ?
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.
So I think we can stick to CXXFLAGS and use REM_CUDA_HOST_CXXFLAGS/REM_ROCM_HOST_CXXFLAGS .
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.
yes that is correct, currently there is no REM_ROCM_HOST_CPPDEFINES , so lets stick to CXXFLAGS
|
-1 Failed Tests: RelVals-INPUT The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: RelVals-INPUTThe relvals timed out after 4 hours. Comparison SummarySummary:
|
|
@fwyzard , input test failure are not related to this change. Do you want to add more changes here otherwise I am happy to include it for next IB. |
|
@smuzaffar sorry, I missed the message earlier. This PR needs to go in together with cms-sw/cmssw#40678; it would be great if both could enter in time for tonight's IB. @perrotta @rappoccio FYI. |
|
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-d1ec0d/30366/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
|
+1
|
|
merge |
Update the version of alpaka to the HEAD of the develop branch as of 2023.02.01, corresponding to the commit alpaka-group/alpaka@a68c866cc6c .
Major changes:
allocMappedBuf(...);Other changes:
Vec;ConcurrentExecPoolandQueueGenericThreadsNonBlocking.Add support for the HIP/ROCm alpaka back-end.