99
1010jobs :
1111 benchmark :
12- env :
13- ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
14- ARTIFACT_FILE : /root/artifact.txt
15- LD_LIBRARY_PATH : /usr/local/cuda-13.0/compat
16- MODULEPATH : /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
17- STANDALONE_DIR : /root/standalone
18- WORK_DIR : /cvmfs/alice.cern.ch
19-
2012 runs-on : ${{ matrix.runner }}
2113 container : registry.cern.ch/alisw/slc9-gpu-builder@sha256:ea3443f9dfbc770e4b4bce0d1a9ecc0b7a7c16e9f76e416b796d170877220820
2214 strategy :
@@ -27,73 +19,58 @@ jobs:
2719 - name : nvidia-h100
2820 runner : cern-nextgen-h100
2921 cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
22+ ca_args : --gpuType CUDA --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-h100.par
3023 - name : nvidia-l40s
3124 runner : cern-nextgen-l40s
3225 cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
26+ ca_args : --gpuType CUDA --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-l40s.par
3327 - name : amd-mi300x
3428 runner : cern-nextgen-mi300x
3529 cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
30+ ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-mi300x.par
3631 - name : amd-w7900
3732 runner : cern-nextgen-w7900
3833 cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
34+ ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-w7900.par
3935
4036 name : ${{ matrix.name }}
4137 steps :
4238 - name : Checkout Repository
4339 uses : actions/checkout@v4
4440
45- - name : Build Deterministic
46- run : &build |
41+ - name : Build and Run
42+ run : |
4743 source /etc/profile.d/modules.sh
4844 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
4945
5046 mkdir -p ${STANDALONE_DIR}
51- 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/
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/
5248 cmake --build ${STANDALONE_DIR}/build --target install -j 8
53- env :
54- DETERMINISTIC_MODE : GPU
5549
56- - name : Download Small Event File
57- run : &download |
58- mkdir -p ${STANDALONE_DIR}/events
59- curl -o ${STANDALONE_DIR}/events/${EVENT_FILE}.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/events/${EVENT_FILE}.tar.xz
60- tar -xf ${STANDALONE_DIR}/events/${EVENT_FILE}.tar.xz -C ${STANDALONE_DIR}/events
61- ls -la ${STANDALONE_DIR}/events/o2-simple
62- env :
63- EVENT_FILE : o2-simple
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
6453
65- - name : Test
66- run : |
67- source /etc/profile.d/modules.sh
68- 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
54+ mkdir -p ${STANDALONE_DIR}/events
6955
70- ls -la ${STANDALONE_DIR}/events/o2-simple
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}
7159
72- ${STANDALONE_DIR}/ca -e o2-simple -g --seed 0 --memSize 20000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 6
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 }}
7363
7464 curl -v -o ${STANDALONE_DIR}/o2-simple-GPU.out https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/o2-simple-GPU.out
7565 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
66+ rm -rf ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out ${STANDALONE_DIR}/events ${STANDALONE_DIR}/ build
7767 env :
78- EVENT_FILE : o2-simple
79-
80- - name : Build Non-Deterministic
81- run : *build
82- env :
83- DETERMINISTIC_MODE : OFF
84-
85- - name : Download Large Event File
86- run : *download
87- env :
88- EVENT_FILE : 50kHz
89-
90- - name : Benchmark
91- run : |
92- source /etc/profile.d/modules.sh
93- 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
94-
95- ${STANDALONE_DIR}/ca -e 50kHz -g --memSize 15000000000 --sync --runs 1 --RTCenable --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 1 > ${ARTIFACT_FILE}
96- rm -rf ${STANDALONE_DIR}/events ${STANDALONE_DIR}/build
68+ WORK_DIR : /cvmfs/alice.cern.ch
69+ ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
70+ MODULEPATH : /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
71+ STANDALONE_DIR : /root/standalone
72+ ARTIFACT_FILE : /root/artifact.txt
73+ LD_LIBRARY_PATH : /usr/local/cuda-13.0/compat
9774
9875 - name : Upload Artifact
9976 uses : actions/upload-artifact@v4
0 commit comments