-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Add a test for Alpaka libraries and build rules #44622
Add a test for Alpaka libraries and build rules #44622
Conversation
cms-bot internal usage |
These packages implements unit tests for, among other things, the issue described in #44506 and fixed by cms-sw/cmssw-config#107: |
enable gpu |
please test |
@cms-sw/orp-l2 or @makortel, please let me know if you think these unit tests should be backported to CMSSW_14_0_X. |
@makortel, unlike the CUDA and ROCm case, with Alpaka there is no significant difference between I kept the two packages for consistency with the CUDA and ROCm case. |
-code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44622/39810
Code check has found code style and quality issues which could be resolved by applying following patch(s)
|
@makortel, these packages do not use the "alpaka framework" for simplicity and to decouple them from any specific framework implementation. |
535ef59
to
775a4bc
Compare
please test |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44622/39811
|
A new Pull Request was created by @fwyzard for master. It involves the following packages:
The following packages do not have a category, yet: HeterogeneousTest/AlpakaDevice @makortel, @fwyzard can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
-1 Failed Tests: Build BuildI found compilation error when building: Entering library rule at src/HeterogeneousTest/CUDAKernel/plugins >> Compiling src/HeterogeneousTest/CUDAKernel/plugins/CUDATestKernelAdditionAlgo.cu >> Compiling edm plugin src/HeterogeneousTest/CUDAKernel/plugins/CUDATestKernelAdditionModule.cc >> Cuda Device Link tmp/el8_amd64_gcc12/src/HeterogeneousTest/CUDAKernel/plugins/HeterogeneousTestCUDAKernelPlugins/HeterogeneousTestCUDAKernelPlugins_cudadlink.o nvlink error : Undefined reference to '_ZN3cms8cudatest13add_vectors_fEPKfS2_Pfm' in '/data/cmsbld/jenkins/workspace/ib-run-pr-tests/CMSSW_14_1_X_2024-04-04-1100/static/el8_amd64_gcc12/libHeterogeneousTestCUDAKernel_nv.a:DeviceAdditionKernel.cu_nv.o' (target: sm_60) gmake: *** [tmp/el8_amd64_gcc12/src/HeterogeneousTest/CUDAKernel/plugins/HeterogeneousTestCUDAKernelPlugins/HeterogeneousTestCUDAKernelPlugins_cudadlink.o] Error 255 >> Building edm plugin tmp/el8_amd64_gcc12/src/HeterogeneousTest/CUDAKernel/plugins/HeterogeneousTestCUDAKernelPlugins/libHeterogeneousTestCUDAKernelPlugins.so /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02831/el8_amd64_gcc12/external/gcc/12.3.1-40d504be6370b5a30e3947a6e575ca28/bin/../lib/gcc/x86_64-redhat-linux-gnu/12.3.1/../../../../x86_64-redhat-linux-gnu/bin/ld.bfd: cannot find tmp/el8_amd64_gcc12/src/HeterogeneousTest/CUDAKernel/plugins/HeterogeneousTestCUDAKernelPlugins/HeterogeneousTestCUDAKernelPlugins_cudadlink.o: No such file or directory collect2: error: ld returned 1 exit status gmake: *** [tmp/el8_amd64_gcc12/src/HeterogeneousTest/CUDAKernel/plugins/HeterogeneousTestCUDAKernelPlugins/libHeterogeneousTestCUDAKernelPlugins.so] Error 1 Leaving library rule at src/HeterogeneousTest/CUDAKernel/plugins |
The package HeterogeneousTest/AlpakaDevice implements a header only library that defines Alpaka device-only functions, and a plugin and test that use them. The package HeterogeneousTest/AlpakaKernel implements a header only library that imports device functions from HeterogeneousTest/AlpakaDevice to define Alpaka kernels, and a plugin and test that use them. The package HeterogeneousTest/AlpakaWrapper implements a library that imports kernels from HeterogeneousTest/AlpakaKernel to define and export host-only wrappers around them, usable by non-Alpaka libraries, plugins and applications, and implements a plugin and test that use them. The package HeterogeneousTest/AlpakaOpaque implements a library that imports kernels from HeterogeneousTest/AlpakaKernel to define and export host-only wrappers around the whole Alpaka section, usable by libraries, plugins and applications that are not explicitly Alpaka-aware, and implements a plugin and test that use them.
18d66a9
to
f963c4c
Compare
please test |
+heterogeneous |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-44622/39832
|
Pull request #44622 was updated. can you please check and sign again. |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4509d9/38640/summary.html Comparison SummarySummary:
GPU Comparison SummarySummary:
|
Thanks. Ok for the backport. |
+1 |
PR description:
The package
HeterogeneousTest/AlpakaDevice
implements a header only library that defines Alpaka device-only functions, and a plugin and test that use them.The package
HeterogeneousTest/AlpakaKernel
implements a header only library that imports device functions fromHeterogeneousTest/AlpakaDevice
to define Alpaka kernels, and a plugin and test that use them.The package
HeterogeneousTest/AlpakaWrapper
implements a library that imports kernels from HeterogeneousTest/AlpakaKernel to define and export host-only wrappers around them, usable by non-Alpaka libraries, plugins and applications, and implements a plugin and test that use them.The package
HeterogeneousTest/AlpakaOpaque
implements a library that imports kernels fromHeterogeneousTest/AlpakaKernel
to define and export host-only wrappers around the whole Alpaka section, usable by libraries, plugins and applications that are not explicitly Alpaka-aware, and implements a plugin and test that use them.In addition, fix the CUDA and ROCm documentation, and various typos in the ROCm tests.
PR validation:
The new unit tests build and pass (on a machine with NVIDIA GPUs):
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
These packages are only used as unit tests, so a backport is not essential.
However, since we do use Alpaka-based packages for data taking in CMSSW 14.0.x, it could be a good idea to backport these unit tests as well.