-
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 #44712
Reorganise alpaka kernel loop functions #44712
Conversation
enable gpu |
please test |
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44712/39916
|
A new Pull Request was created by @fwyzard for master. It involves the following packages:
@jfernan2, @mandrenguyen, @makortel, @fwyzard can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
-1 Failed Tests: Build HeaderConsistency 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: cp: cannot stat 'tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestIndependentKernelROCmAsync/libalpakaTestIndependentKernelROCmAsync_rocm.a': No such file or directory Copying tmp/el8_amd64_gcc12/src/HeterogeneousCore/AlpakaInterface/test/alpakaTestKernelROCmAsync/libalpakaTestKernelROCmAsync_rocm.a to productstore area: 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_1_X_2024-04-10-2300 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_1_X_2024-04-10-2300/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 |
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(...)
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.
ecf9609
to
d3b3c83
Compare
please test |
please test |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44712/39926
|
Pull request #44712 was updated. @jfernan2, @mandrenguyen, @fwyzard, @makortel can you please check and sign again. |
+heterogeneous |
please test |
@jfernan2 , since you signed the backport, can you sign this PR too ? |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs after it passes the integration tests. 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) |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-e3f210/38959/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
+1 |
PR description:
Reorganise the implementation of the Alpaka-based kernel loop functions.
Rename the implementation classes to
CamelCase
and move them to the detail 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.
Remove unnecessary
#include
s.PR validation:
None.