Skip to content

Commit 3f95976

Browse files
Remove .par files and use .csv instead
1 parent a39f0fc commit 3f95976

3 files changed

Lines changed: 173 additions & 135 deletions

File tree

.github/workflows/standalone-benchmark.yml

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)