Skip to content

Commit 123dc33

Browse files
Squash
1 parent 3f95976 commit 123dc33

1 file changed

Lines changed: 29 additions & 40 deletions

File tree

.github/workflows/standalone-benchmark.yml

Lines changed: 29 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ on:
99

1010
jobs:
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+
1220
runs-on: ${{ matrix.runner }}
1321
container: registry.cern.ch/alisw/slc9-gpu-builder@sha256:ea3443f9dfbc770e4b4bce0d1a9ecc0b7a7c16e9f76e416b796d170877220820
1422
strategy:
@@ -19,92 +27,73 @@ jobs:
1927
- name: nvidia-h100
2028
runner: cern-nextgen-h100
2129
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
22-
ca_args: --gpuType CUDA
2330
- name: nvidia-l40s
2431
runner: cern-nextgen-l40s
2532
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
26-
ca_args: --gpuType CUDA
2733
- name: amd-mi300x
2834
runner: cern-nextgen-mi300x
2935
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
30-
ca_args: --gpuType HIP
3136
- name: amd-w7900
3237
runner: cern-nextgen-w7900
3338
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
34-
ca_args: --gpuType HIP
3539

3640
name: ${{ matrix.name }}
3741
steps:
3842
- name: Checkout Repository
3943
uses: actions/checkout@v4
4044

41-
- name: Download Files
42-
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-
5345
- name: Build Deterministic
5446
run: &build |
5547
source /etc/profile.d/modules.sh
5648
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
5749

50+
mkdir -p ${STANDALONE_DIR}
5851
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/
5952
cmake --build ${STANDALONE_DIR}/build --target install -j 8
6053
env:
6154
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
55+
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
6764

6865
- name: Test
6966
run: |
7067
source /etc/profile.d/modules.sh
7168
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
7269
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 }}
70+
ls -la ${STANDALONE_DIR}/events/o2-simple
71+
72+
${STANDALONE_DIR}/ca -e o2-simple -g --seed 0 --memSize 20000000000 --sync --runs 1 --RTCenable --PROCdeterministicGPUReconstruction 1 --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 6
7473
74+
curl -v -o ${STANDALONE_DIR}/o2-simple-GPU.out https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/o2-simple-GPU.out
7575
cmp ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out
7676
rm -rf ${STANDALONE_DIR}/GPU.out ${STANDALONE_DIR}/o2-simple-GPU.out ${STANDALONE_DIR}/build
7777
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
78+
EVENT_FILE: o2-simple
8379

8480
- name: Build Non-Deterministic
8581
run: *build
8682
env:
8783
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
84+
85+
- name: Download Large Event File
86+
run: *download
87+
env:
88+
EVENT_FILE: 50kHz
9389

9490
- name: Benchmark
9591
run: |
9692
source /etc/profile.d/modules.sh
9793
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
9894
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}
95+
${STANDALONE_DIR}/ca -e 50kHz -g --memSize 15000000000 --sync --runs 1 --RTCenable --RTCoptSpecialCode 1 --RTCoptConstexpr 1 --debug 1 > ${ARTIFACT_FILE}
10096
rm -rf ${STANDALONE_DIR}/events ${STANDALONE_DIR}/build
101-
env:
102-
WORK_DIR: /cvmfs/alice.cern.ch
103-
ALIBUILD_ARCH_PREFIX: el9-x86_64/Packages
104-
MODULEPATH: /cvmfs/alice.cern.ch/etc/toolchain/modulefiles/el9-x86_64:/cvmfs/alice.cern.ch/el9-x86_64/Modules/modulefiles
105-
STANDALONE_DIR: /root/standalone
106-
ARTIFACT_FILE: /root/artifact.txt
107-
LD_LIBRARY_PATH: /usr/local/cuda-13.0/compat
10897
10998
- name: Upload Artifact
11099
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)