@@ -24,6 +24,36 @@ variables:
2424 - " yes"
2525 - " no"
2626 description : " Enable compilation using multiple compilers"
27+ SLURM_TESTS_ENABLED :
28+ value : " no"
29+ options :
30+ - " yes"
31+ - " no"
32+ description : " Enable test on the Slurm cluster"
33+ CI_SLURM_PARTITION :
34+ value : " Zen3"
35+ description : " Partition to use (if using Slurm)"
36+ CI_SLURM_NNODES :
37+ value : " 1"
38+ description : " Number of nodes to request (if using Slurm)"
39+ CI_SLURM_NTASKS :
40+ value : " 1"
41+ description : " Number of tasks to request (if using Slurm)"
42+ CI_SLURM_CPUS_PER_TASK :
43+ value : " 64"
44+ description : " Number of CPUs per task (if using Slurm)"
45+ CI_SLURM_MEM_PER_NODE :
46+ value : " 64G"
47+ description : " Memory per node (if using Slurm)"
48+ CI_SLURM_TIMELIMIT :
49+ value : " 00-10:00:00" # 10 hours
50+ description : " Time limit for the job (if using Slurm)"
51+ SLURM_JOB_START_TIMEOUT_SECONDS :
52+ value : " 3600" # 1 hour timeout to switch from PENDING to RUNNING
53+ description : " Allowed time for the job to switch from PENDING to RUNNING (if using Slurm)"
54+ SLURM_DATASETS_DIR_PATH :
55+ value : " /storage/datasets/graphs-and-sparse-matrices"
56+ description : " Path to the datasets directory (if using Slurm)"
2757 COVERAGE_ENABLED :
2858 value : " no"
2959 options :
@@ -237,6 +267,28 @@ gitleaks:
237267 script : gitleaks detect -v --source .
238268
239269
270+ # # Jobs running on Slurm cluster
271+
272+ # factored out command to download the datasets, cmake, and build in non-debug mode
273+ .setup_and_build_ndebug_slurm : &setup_and_build_ndebug_slurm
274+ - mkdir -p install build && cd ./build
275+ - ../bootstrap.sh --prefix=../install --with-datasets=${SLURM_DATASETS_DIR_PATH} --no-hyperdags
276+ - make -j$(nproc)
277+
278+ tests_performance_slurm :
279+ rules :
280+ - if : $SLURM_TESTS_ENABLED == "yes"
281+ tags :
282+ - slurm
283+ script :
284+ - *setup_and_build_ndebug_slurm
285+ - make -j$(nproc) performancetests |& tee performancetests.log
286+ - ../tests/summarise.sh performancetests.log tests/performance/output/benchmarks tests/performance/output/scaling
287+ artifacts :
288+ paths : [ build/*.log ]
289+ expire_in : 1 month
290+
291+
240292# # Additional tests specific to main branches only
241293
242294tests_performance :
@@ -363,7 +415,7 @@ coverage_matrix:
363415 - echo "-- NONBLOCKING=${backends_array[3]}"
364416
365417 - rm -rf build install && mkdir -p install build && cd build
366- - cmake -DCMAKE_INSTALL_PREFIX='../install'
418+ - cmake -DCMAKE_INSTALL_PREFIX='../install'
367419 -DCMAKE_BUILD_TYPE=Coverage
368420 -DDATASETS_DIR=${ALP_DATASETS}
369421 -DWITH_HYPERDAGS_BACKEND=${backends_array[0]}
0 commit comments