@@ -19,51 +19,85 @@ jobs:
1919 - name : nvidia-h100
2020 runner : cern-nextgen-h100
2121 cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
22- ca_args : --gpuType CUDA --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-h100.par
22+ ca_args : --gpuType CUDA
2323 - name : nvidia-l40s
2424 runner : cern-nextgen-l40s
2525 cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
26- ca_args : --gpuType CUDA --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-l40s.par
26+ ca_args : --gpuType CUDA
2727 - name : amd-mi300x
2828 runner : cern-nextgen-mi300x
2929 cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
30- ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-mi300x.par
30+ ca_args : --gpuType HIP
3131 - name : amd-w7900
3232 runner : cern-nextgen-w7900
3333 cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
34- ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-w7900.par
34+ ca_args : --gpuType HIP
3535
3636 name : ${{ matrix.name }}
3737 steps :
3838 - name : Checkout Repository
3939 uses : actions/checkout@v4
4040
41- - name : Build and Run
41+ - name : Download Files
4242 run : |
43+ mkdir -p ${STANDALONE_DIR}
44+
45+ mkdir -p ${STANDALONE_DIR}/events
46+ curl -v -o ${STANDALONE_DIR}/events/50kHz.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/events/50kHz.tar.xz
47+ tar -xf ${STANDALONE_DIR}/events/50kHz.tar.xz -C ${STANDALONE_DIR}/events
48+
49+ curl -v -o ${STANDALONE_DIR}/o2-simple-GPU.out https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/o2-simple-GPU.out
50+ env :
51+ STANDALONE_DIR : /root/standalone
52+
53+ - name : Build Deterministic
54+ run : &build |
4355 source /etc/profile.d/modules.sh
4456 module load ninja/fortran-v1.11.1.g9-15 Vc/1.4.5-10 boost/v1.83.0-alice2-57 fmt/11.1.2-14 CMake/v3.31.6-10 ms_gsl/4.2.1-3 Clang/v20.1.7-9 TBB/v2022.3.0-3 ROOT/v6-36-04-alice9-15 ONNXRuntime/v1.22.0-71 GLFW/3.3.2-25
4557
46- mkdir -p ${STANDALONE_DIR}
47- cmake -B ${STANDALONE_DIR}/build ${{ matrix.cmake_args }} -DENABLE_OPENCL=0 -DGPUCA_BUILD_EVENT_DISPLAY=0 -DGPUCA_DETERMINISTIC_MODE=GPU -DCMAKE_INSTALL_PREFIX=${STANDALONE_DIR} ${GITHUB_WORKSPACE}/GPU/GPUTracking/Standalone/
58+ cmake -B ${STANDALONE_DIR}/build ${{ matrix.cmake_args }} -DENABLE_OPENCL=0 -DGPUCA_BUILD_EVENT_DISPLAY=0 -DGPUCA_DETERMINISTIC_MODE=${DETERMINISTIC_MODE} -DCMAKE_INSTALL_PREFIX=${STANDALONE_DIR} ${GITHUB_WORKSPACE}/GPU/GPUTracking/Standalone/
4859 cmake --build ${STANDALONE_DIR}/build --target install -j 8
60+ env :
61+ DETERMINISTIC_MODE : GPU
62+ WORK_DIR : /cvmfs/alice.cern.ch
63+ ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
64+ MODULEPATH : /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
65+ STANDALONE_DIR : /root/standalone
66+ LD_LIBRARY_PATH : /usr/local/cuda-13.0/compat
4967
50- cd ${STANDALONE_DIR}
51- mkdir -p ${STANDALONE_DIR}/genGPUArch
52- curl -v -o ${STANDALONE_DIR}/genGPUArch/${{ matrix.name }}.par https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/genGPUArch/${{ matrix.name }}.par
68+ - name : Test
69+ run : |
70+ source /etc/profile.d/modules.sh
71+ module load ninja/fortran-v1.11.1.g9-15 Vc/1.4.5-10 boost/v1.83.0-alice2-57 fmt/11.1.2-14 CMake/v3.31.6-10 ms_gsl/4.2.1-3 Clang/v20.1.7-9 TBB/v2022.3.0-3 ROOT/v6-36-04-alice9-15 ONNXRuntime/v1.22.0-71 GLFW/3.3.2-25
5372
54- mkdir -p ${STANDALONE_DIR}/events
73+ ${STANDALONE_DIR}/ca -e o2-simple -g --seed 0 --memSize 20000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 6 ${{ matrix.ca_args }}
5574
56- curl -v -o ${STANDALONE_DIR}/events/50kHz.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/events/50kHz.tar.xz
57- tar -xf ${STANDALONE_DIR}/events/50kHz.tar.xz -C ${STANDALONE_DIR}/events
58- ${STANDALONE_DIR}/ca -e 50kHz -g --seed 0 --memSize 15000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptSpecialCode 1 --debug 1 ${{ matrix.ca_args }} > ${ARTIFACT_FILE}
75+ cmp ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out
76+ rm -rf ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out ${STANDALONE_DIR}/build
77+ env :
78+ WORK_DIR : /cvmfs/alice.cern.ch
79+ ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
80+ MODULEPATH : /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
81+ STANDALONE_DIR : /root/standalone
82+ LD_LIBRARY_PATH : /usr/local/cuda-13.0/compat
5983
60- curl -v -o ${STANDALONE_DIR}/events/o2-simple.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/events/o2-simple.tar.xz
61- tar -xf ${STANDALONE_DIR}/events/o2-simple.tar.xz -C ${STANDALONE_DIR}/events
62- ${STANDALONE_DIR}/ca -e o2-simple -g --seed 0 --memSize 20000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptSpecialCode 1 --debug 6 ${{ matrix.ca_args }}
84+ - name : Build Non-Deterministic
85+ run : *build
86+ env :
87+ DETERMINISTIC_MODE : OFF
88+ WORK_DIR : /cvmfs/alice.cern.ch
89+ ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
90+ MODULEPATH : /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
91+ STANDALONE_DIR : /root/standalone
92+ LD_LIBRARY_PATH : /usr/local/cuda-13.0/compat
6393
64- curl -v -o ${STANDALONE_DIR}/o2-simple-GPU.out https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/o2-simple-GPU.out
65- cmp ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out
66- rm -rf ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out ${STANDALONE_DIR}/events ${STANDALONE_DIR}/build
94+ - name : Benchmark
95+ run : |
96+ source /etc/profile.d/modules.sh
97+ module load ninja/fortran-v1.11.1.g9-15 Vc/1.4.5-10 boost/v1.83.0-alice2-57 fmt/11.1.2-14 CMake/v3.31.6-10 ms_gsl/4.2.1-3 Clang/v20.1.7-9 TBB/v2022.3.0-3 ROOT/v6-36-04-alice9-15 ONNXRuntime/v1.22.0-71 GLFW/3.3.2-25
98+
99+ ${STANDALONE_DIR}/ca -e 50kHz -g --seed 0 --memSize 15000000000 --sync --runs 1 --RTCenable --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 1 ${{ matrix.ca_args }} > ${ARTIFACT_FILE}
100+ rm -rf ${STANDALONE_DIR}/events ${STANDALONE_DIR}/build
67101 env :
68102 WORK_DIR : /cvmfs/alice.cern.ch
69103 ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
0 commit comments