@@ -12,52 +12,60 @@ jobs:
1212 runs-on : ${{ matrix.runner }}
1313 container : registry.cern.ch/alisw/slc9-gpu-builder:latest
1414 strategy :
15+ fail-fast : false
1516 matrix :
1617 name : [nvidia-h100, nvidia-l40s, amd-mi300x, amd-w7900]
1718 include :
1819 - name : nvidia-h100
1920 runner : cern-nextgen-h100
20- cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DENABLE_OPENCL=0 - DCUDA_COMPUTETARGET=90
21- ca_args : --gpuType CUDA --gpuDevice 0
21+ cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
22+ ca_args : --gpuType CUDA # --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-h100.par
2223 - name : nvidia-l40s
2324 runner : cern-nextgen-l40s
24- cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DENABLE_OPENCL=0 - DCUDA_COMPUTETARGET=89
25- ca_args : --gpuType CUDA --gpuDevice 0
25+ cmake_args : -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
26+ ca_args : --gpuType CUDA # --RTCTECHloadLaunchBoundsFromFile genGPUArch/nvidia-l40s.par
2627 - name : amd-mi300x
2728 runner : cern-nextgen-mi300x
28- cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DENABLE_OPENCL=0 - DHIP_AMDGPUTARGET=gfx942
29- ca_args : --gpuType HIP --gpuDevice 0 --RTCenable -- RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-mi300x.par
29+ cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
30+ ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-mi300x.par
3031 - name : amd-w7900
3132 runner : cern-nextgen-w7900
32- cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DENABLE_OPENCL=0 - DHIP_AMDGPUTARGET=gfx1100
33- ca_args : --gpuType HIP --gpuDevice 0 --RTCenable -- RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-w7900.par
33+ cmake_args : -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
34+ ca_args : --gpuType HIP --RTCTECHloadLaunchBoundsFromFile genGPUArch/amd-w7900.par
3435
3536 name : ${{ matrix.name }}
3637 steps :
3738 - name : Checkout Repository
3839 uses : actions/checkout@v4
3940
4041 - name : Build and Run
41- continue-on-error : true
4242 run : |
43- . ${WORK_DIR}/${ALIBUILD_ARCH_PREFIX}/O2/${O2_REVISION}/etc/profile.d/init.sh
44-
4543 mkdir -p ${STANDALONE_DIR}
44+ . ${WORK_DIR}/${ALIBUILD_ARCH_PREFIX}/O2/${O2_REVISION}/etc/profile.d/init.sh
4645
47- curl -o /root/events.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/cuQAwSojyDrl6FR/events.tar.xz
48- tar -xf /root/events.tar.xz -C ${STANDALONE_DIR}
49- rm -f /root/events.tar.xz
50-
51- curl -o /root/genGPUArch.tar.xz https://cernbox.cern.ch/remote.php/dav/public-files/3o2pvOVkINFU8qy/genGPUArch.tar.xz
52- tar -xf /root/genGPUArch.tar.xz -C ${STANDALONE_DIR}
53- rm -f /root/genGPUArch.tar.xz
54-
55- cmake -B ${BUILD_DIR} ${{ matrix.cmake_args }} -DGPUCA_BUILD_EVENT_DISPLAY=0 -DCMAKE_INSTALL_PREFIX=${STANDALONE_DIR} ${GITHUB_WORKSPACE}/GPU/GPUTracking/Standalone/
46+ cmake -B ${BUILD_DIR} ${{ 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/
5647 cd ${BUILD_DIR}
5748 make install -j8
49+
5850 cd ${STANDALONE_DIR}
59- ${STANDALONE_DIR}/ca -e o2-simple -g ${{ matrix.ca_args }} --debug 1 > ${ARTIFACT_FILE}
60- cat ${ARTIFACT_FILE}
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
53+
54+ mkdir -p ${STANDALONE_DIR}/events
55+
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}
59+
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 }}
63+
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
67+
68+ rm -rf ${STANDALONE_DIR}/events
6169 env :
6270 WORK_DIR : /cvmfs/alice.cern.ch
6371 ALIBUILD_ARCH_PREFIX : el9-x86_64/Packages
0 commit comments