-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Reorganise alpaka kernel loop functions [14.0.x] #44714
Reorganise alpaka kernel loop functions [14.0.x] #44714
Conversation
In the cms::alpakatools namespace - replace elements_with_stride(...) with uniform_elements(...) - replace blocks_with_stride(...) with uniform_groups(...) - replace elements_in_block(...) with uniform_group_elements(...)
backport #44712 |
enable gpu |
please test |
A new Pull Request was created by @fwyzard for CMSSW_14_0_X. It involves the following packages:
@jfernan2, @fwyzard, @mandrenguyen, @makortel can you please review it and eventually sign? Thanks. cms-bot commands are listed here
|
cms-bot internal usage |
-1 Failed Tests: Build ClangBuild BuildI found compilation error when building: Copying tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestAtomicPairCounterROCmAsync/libalpakaTestAtomicPairCounterROCmAsync_rocm.a to productstore area: Copying tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestHistoContainerROCmAsync/libalpakaTestHistoContainerROCmAsync_rocm.a to productstore area: cp: cannot stat 'tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestAtomicPairCounterROCmAsync/libalpakaTestAtomicPairCounterROCmAsync_rocm.a': No such file or directory cp: cannot stat 'tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestHistoContainerROCmAsync/libalpakaTestHistoContainerROCmAsync_rocm.a': No such file or directory >> Deleted: tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestAtomicPairCounterROCmAsync/libalpakaTestAtomicPairCounterROCmAsync_rocm.a gmake: *** [config/SCRAM/GMake/Makefile.rules:1838: tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestAtomicPairCounterROCmAsync/libalpakaTestAtomicPairCounterROCmAsync_rocm.a] Error 1 >> Deleted: tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestHistoContainerROCmAsync/libalpakaTestHistoContainerROCmAsync_rocm.a gmake: *** [config/SCRAM/GMake/Makefile.rules:1838: tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestHistoContainerROCmAsync/libalpakaTestHistoContainerROCmAsync_rocm.a] Error 1 Copying tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestIndependentKernelROCmAsync/libalpakaTestIndependentKernelROCmAsync_rocm.a to productstore area: Copying tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestKernelROCmAsync/libalpakaTestKernelROCmAsync_rocm.a to productstore area: cp: cannot stat 'tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestIndependentKernelROCmAsync/libalpakaTestIndependentKernelROCmAsync_rocm.a': No such file or directory Clang BuildI found compilation error while trying to compile with clang. Command used:
>> Entering Package HeterogeneousCore/AlpakaTest >> Entering Package RecoLocalCalo/EcalRecProducers >> Entering Package RecoParticleFlow/PFClusterProducer >> Entering Package RecoParticleFlow/PFRecHitProducer >> Compile sequence completed for CMSSW CMSSW_14_0_X_2024-04-11-1100 gmake: *** [There are compilation/build errors. Please see the detail log above.] Error 1 + eval scram build outputlog '&&' '(python3' /data/cmsbld/jenkins/workspace/ib-run-pr-tests/cms-bot/buildLogAnalyzer.py --logDir /data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_14_0_X_2024-04-11-1100/tmp/el8_amd64_gcc12/cache/log/src '||' 'true)' ++ scram build outputlog >> Entering Package HeterogeneousCore/AlpakaInterface Entering library rule at HeterogeneousCore/AlpakaInterface >> Compiling src/HeterogeneousCore/AlpakaInterface/src/Backend.cc |
Rename classes to CamelCase and move them to the detail namespace: - uniform_elements_along to detail::UniformElementsAlong - uniform_groups_along to detail::UniformGroupsAlong - uniform_group_elements_along to detail::UniformGroupElementsAlong - uniform_elements_nd to detail::UniformElementsND - independent_groups_along to detail::IndependentGroupsAlong - independent_group_elements_along to detail::IndependentGroupElementsAlong Introduce helper functions with the old names.
9e26825
to
4442472
Compare
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-02ae8c/38799/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
+1 |
+heterogeneous |
This pull request is fully signed and it will be integrated in one of the next CMSSW_14_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_14_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @sextonkennedy, @antoniovilela, @rappoccio (and backports should be raised in the release meeting by the corresponding L2) |
@cms-sw/orp-l2 could you merge this for the next CMSSW 14.0.x release ? |
+1 |
PR description:
Reorganise the implementation of the Alpaka-based kernel loop functions.
Rename the implementation classes to
CamelCase
and move them to thedetail
namespace:uniform_elements_along
todetail::UniformElementsAlong
uniform_groups_along
todetail::UniformGroupsAlong
uniform_group_elements_along
todetail::UniformGroupElementsAlong
uniform_elements_nd
todetail::UniformElementsND
independent_groups_along
todetail::IndependentGroupsAlong
independent_group_elements_along
todetail::IndependentGroupElementsAlong
Replace legacy loop names with the more explicit ones, in the
cms::alpakatools
namespace:elements_with_stride(...)
withuniform_elements(...)
blocks_with_stride(...)
withuniform_groups(...)
elements_in_block(...)
withuniform_group_elements(...)
Rename legacy function with the new names.
PR validation:
None.
Backport status:
Backport of #44712 to CMSSW 14.0.x.