Skip to content

Commit 5a9dc56

Browse files
Add runs argument
1 parent 31fe38c commit 5a9dc56

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

.github/workflows/standalone-benchmark.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,23 @@ jobs:
1919
- name: nvidia-h100
2020
runner: cern-nextgen-h100
2121
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=90
22+
profiler_runs: 21
23+
standalone_runs: 42
2224
- name: nvidia-l40s
2325
runner: cern-nextgen-l40s
2426
cmake_args: -DENABLE_CUDA=1 -DENABLE_HIP=0 -DCUDA_COMPUTETARGET=89
27+
profiler_runs: 42
28+
standalone_runs: 42
2529
- name: amd-mi300x
2630
runner: cern-nextgen-mi300x
2731
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx942
32+
profiler_runs: 42
33+
standalone_runs: 42
2834
- name: amd-w7900
2935
runner: cern-nextgen-w7900
3036
cmake_args: -DENABLE_CUDA=0 -DENABLE_HIP=1 -DHIP_AMDGPUTARGET=gfx1100
31-
37+
profiler_runs: 42
38+
standalone_runs: 42
3239
env:
3340
WORK_DIR: /cvmfs/alice.cern.ch
3441
ALIBUILD_ARCH_PREFIX: el9-x86_64/Packages
@@ -87,7 +94,7 @@ jobs:
8794
source /etc/profile.d/modules.sh
8895
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
8996
cd ${STANDALONE_DIR}
90-
${TIMING_CA} --debug 1 --runs 42 --runsInit 2 --PROCdebugMarkdown 1 --PROCresetTimers 1 --PROCdebugCSV /root/${BENCHMARK_CSV}
97+
${TIMING_CA} --debug 1 --runs ${{ matrix.standalone_runs }} --runsInit 2 --PROCdebugMarkdown 1 --PROCresetTimers 1 --PROCdebugCSV /root/${BENCHMARK_CSV}
9198
python3 ${GITHUB_WORKSPACE}/.github/scripts/merge_runs.py --discard 2 --input /root/${BENCHMARK_CSV} --output /root/${BENCHMARK_CSV}
9299
93100
- name: Profiler - Nsight Compute
@@ -97,10 +104,10 @@ jobs:
97104
source /etc/profile.d/modules.sh
98105
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
99106
cd ${STANDALONE_DIR}
100-
ncu --set none --metrics gpu__time_duration.avg --export ${{ matrix.name }} --clock-control none --force-overwrite ${TIMING_CA} --runs 21 --debug 1 --PROCdebugMarkdown 1 # Generates ${{ matrix.name }}.ncu-rep
107+
ncu --set none --metrics gpu__time_duration.avg --export ${{ matrix.name }} --clock-control none --force-overwrite ${TIMING_CA} --runs ${{ matrix.profiler_runs }} --debug 1 --PROCdebugMarkdown 1 # Generates ${{ matrix.name }}.ncu-rep
101108
ncu --import ${STANDALONE_DIR}/${{ matrix.name }}.ncu-rep --print-units base --csv > /root/${PROFILER_CSV}
102109
rm -rf ${STANDALONE_DIR}/events/50kHz ${STANDALONE_DIR}/build
103-
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_ncu.py --runs 21 --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
110+
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_ncu.py --runs ${{ matrix.profiler_runs }} --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
104111
105112
- name: Profiler - Nsight Systems
106113
if: ${{ matrix.name == 'nvidia-l40s' }}
@@ -110,20 +117,20 @@ jobs:
110117
source /etc/profile.d/modules.sh
111118
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
112119
cd ${STANDALONE_DIR}
113-
nsys profile -o ${{ matrix.name }} ${TIMING_CA} --runs 42 --debug 1 --PROCdebugMarkdown 1 # Generates ${{ matrix.name }}.nsys-rep
120+
nsys profile -o ${{ matrix.name }} ${TIMING_CA} --runs ${{ matrix.profiler_runs }} --debug 1 --PROCdebugMarkdown 1 # Generates ${{ matrix.name }}.nsys-rep
114121
nsys stats --report cuda_gpu_kern_sum --timeunit usec --force-export=true --format csv ${{ matrix.name }}.nsys-rep > /root/${PROFILER_CSV}
115122
rm -rf ${STANDALONE_DIR}/events/50kHz ${STANDALONE_DIR}/build
116-
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_nsys.py --runs 42 --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
123+
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_nsys.py --runs ${{ matrix.profiler_runs }} --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
117124
118125
- name: Profiler - rocprofv2
119126
if: ${{ matrix.name == 'amd-mi300x' || matrix.name == 'amd-w7900' }}
120127
run: |
121128
source /etc/profile.d/modules.sh
122129
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
123130
cd ${STANDALONE_DIR}
124-
rocprofv2 --output-directory /root --output-file-name ${{ matrix.name }} ${TIMING_CA} --runs 42 --debug 1 --PROCdebugMarkdown 1 # Generates results_${{ matrix.name }}.csv == ${PROFILER_CSV}
131+
rocprofv2 --output-directory /root --output-file-name ${{ matrix.name }} ${TIMING_CA} --runs ${{ matrix.standalone_runs }} --debug 1 --PROCdebugMarkdown 1 # Generates results_${{ matrix.name }}.csv == ${PROFILER_CSV}
125132
rm -rf ${STANDALONE_DIR}/events/50kHz ${STANDALONE_DIR}/build
126-
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_rocprofv2.py --runs 42 --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
133+
python3 ${GITHUB_WORKSPACE}/.github/scripts/profiler_rocprofv2.py --runs ${{ matrix.profiler_runs }} --input /root/${PROFILER_CSV} --output /root/${PROFILER_CSV}
127134
128135
- name: Upload Artifact
129136
uses: actions/upload-artifact@v6
@@ -138,7 +145,7 @@ jobs:
138145
mkdir -p ${STANDALONE_DIR}/baseline
139146
curl -fL --retry 3 -o ${STANDALONE_DIR}/baseline/${PROFILER_CSV} https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/baseline/${PROFILER_CSV}
140147
curl -fL --retry 3 -o ${STANDALONE_DIR}/baseline/${BENCHMARK_CSV} https://cernbox.cern.ch/remote.php/dav/public-files/SfYXgQOHFga2w75/baseline/${BENCHMARK_CSV}
141-
python3 ${GITHUB_WORKSPACE}/.github/scripts/csv_to_md.py --baseline ${STANDALONE_DIR}/baseline/${PROFILER_CSV} --current /root/${PROFILER_CSV} >> ${GITHUB_STEP_SUMMARY}
148+
python3 ${GITHUB_WORKSPACE}/.github/scripts/csv_to_md.py --runs ${{ matrix.profiler_runs }} --baseline ${STANDALONE_DIR}/baseline/${PROFILER_CSV} --current /root/${PROFILER_CSV} >> ${GITHUB_STEP_SUMMARY}
142149
echo -e "\n\n" >> ${GITHUB_STEP_SUMMARY}
143-
python3 ${GITHUB_WORKSPACE}/.github/scripts/csv_to_md.py --baseline ${STANDALONE_DIR}/baseline/${BENCHMARK_CSV} --current /root/${BENCHMARK_CSV} >> ${GITHUB_STEP_SUMMARY}
150+
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}
144151
rm -rf ${STANDALONE_DIR}/baseline

0 commit comments

Comments
 (0)