Skip to content

Commit 0d4644d

Browse files
Add cpu benchmark
1 parent 5a9dc56 commit 0d4644d

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

.github/workflows/standalone-benchmark.yml

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,36 +14,46 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
name: [nvidia-h100, nvidia-l40s, amd-mi300x, amd-w7900]
17+
name: [cpu, nvidia-h100, nvidia-l40s, amd-mi300x, amd-w7900]
1818
include:
19+
- name: cpu
20+
runner: cern-nextgen-h100
21+
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=0
22+
profiler_runs: 42
23+
standalone_runs: 42
24+
cpu_gpu: "-c"
1925
- name: nvidia-h100
2026
runner: cern-nextgen-h100
2127
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
2228
profiler_runs: 21
2329
standalone_runs: 42
30+
cpu_gpu: "-g --memSize 20000000000"
2431
- name: nvidia-l40s
2532
runner: cern-nextgen-l40s
2633
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
2734
profiler_runs: 42
2835
standalone_runs: 42
36+
cpu_gpu: "-g --memSize 20000000000"
2937
- name: amd-mi300x
3038
runner: cern-nextgen-mi300x
3139
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
3240
profiler_runs: 42
3341
standalone_runs: 42
42+
cpu_gpu: "-g --memSize 20000000000"
3443
- name: amd-w7900
3544
runner: cern-nextgen-w7900
3645
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
3746
profiler_runs: 42
3847
standalone_runs: 42
48+
cpu_gpu: "-g --memSize 20000000000"
3949
env:
4050
WORK_DIR: /cvmfs/alice.cern.ch
4151
ALIBUILD_ARCH_PREFIX: el9-x86_64/Packages
4252
MODULEPATH: /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
4353
STANDALONE_DIR: /root/standalone
4454
BENCHMARK_CSV: ${{ matrix.name }}.csv
4555
PROFILER_CSV: results_${{ matrix.name }}.csv
46-
TIMING_CA: ./ca -e 50kHz -g --seed 0 --memSize 15000000000 --sync --debug 1 # Add --PROCdebugMarkdown 1 --runs 42 --runsInit 2 --PROCresetTimers 1 for benchmark runs
56+
TIMING_CA: ./ca -e 50kHz ${{ matrix.cpu_gpu }} --seed 0 --sync --debug 1 # Add --PROCdebugMarkdown 1 --runs 42 --runsInit 2 --PROCresetTimers 1 for benchmark runs
4757
LD_LIBRARY_PATH: /usr/local/cuda-13.0/compat
4858

4959
name: ${{ matrix.name }}
@@ -75,21 +85,21 @@ jobs:
7585
env:
7686
DETERMINISTIC_MODE: GPU
7787

78-
- name: Test GPU Track Reconstruction
88+
- name: Test Track Reconstruction
7989
run: |
8090
source /etc/profile.d/modules.sh
8191
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
8292
cd ${STANDALONE_DIR}
83-
${STANDALONE_DIR}/ca -e o2-simple -g --seed 0 --memSize 20000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptConstexpr 1 --RTCoptSpecialCode 1 --debug 6
84-
cmp ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out
85-
rm -rf ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out ${STANDALONE_DIR}/events/o2-simple ${STANDALONE_DIR}/build
93+
${STANDALONE_DIR}/ca -e o2-simple ${{ matrix.cpu_gpu }} --seed 0 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptConstexpr 1 --RTCoptSpecialCode 1 --debug 6
94+
cmp ${STANDALONE_DIR}/*.out
95+
rm -rf ${STANDALONE_DIR}/*.out ${STANDALONE_DIR}/events/o2-simple ${STANDALONE_DIR}/build
8696
8797
- name: Build Non-Deterministic
8898
run: *build
8999
env:
90100
DETERMINISTIC_MODE: OFF
91101

92-
- name: Benchmark GPU Track Reconstruction
102+
- name: Benchmark Track Reconstruction
93103
run: |
94104
source /etc/profile.d/modules.sh
95105
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
@@ -149,3 +159,4 @@ jobs:
149159
echo -e "\n\n" >> ${GITHUB_STEP_SUMMARY}
150160
python3 ${GITHUB_WORKSPACE}/.github/scripts/csv_to_md.py --runs ${{ matrix.standalone_runs }} --baseline ${STANDALONE_DIR}/baseline/${BENCHMARK_CSV} --current /root/${BENCHMARK_CSV} >> ${GITHUB_STEP_SUMMARY}
151161
rm -rf ${STANDALONE_DIR}/baseline
162+
if: ${{ matrix.name != 'cpu' }}

0 commit comments

Comments
 (0)