Skip to content

Commit 1883945

Browse files
ChristianTackeGSIdennisklein
authored andcommitted
ci(slurm): Update to Heterogeneous Cluster
Running FairRoot jobs in parallel on one machine does not work currently. So allocate a whole node. Update tooling accordingly.
1 parent 47ecd5f commit 1883945

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

FairRoot_build_test.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ set(CTEST_USE_LAUNCHERS ON)
1717
set(CTEST_CONFIGURATION_TYPE "RelWithDebInfo")
1818

1919
if(NOT NCPUS)
20-
if(ENV{SLURM_CPUS_PER_TASK})
20+
if(DEFINED ENV{SLURM_CPUS_PER_TASK})
2121
set(NCPUS $ENV{SLURM_CPUS_PER_TASK})
22+
elseif(DEFINED ENV{SLURM_JOB_CPUS_PER_NODE})
23+
set(NCPUS $ENV{SLURM_JOB_CPUS_PER_NODE})
2224
else()
2325
include(ProcessorCount)
2426
ProcessorCount(NCPUS)

slurm-submit.sh

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
#! /bin/bash
22

3+
if [ $# != 2 ]
4+
then
5+
echo "*** Please call like: $0 LABEL JOBSH"
6+
exit 1
7+
fi
8+
39
label="$1"
410
jobsh="$2"
511

612
if [ -z "$ALFACI_SLURM_CPUS" ]
713
then
8-
ALFACI_SLURM_CPUS=32
14+
# ALFACI_SLURM_CPUS=20
15+
:
916
fi
1017
if [ -z "$ALFACI_SLURM_EXTRA_OPTS" ]
1118
then
12-
ALFACI_SLURM_EXTRA_OPTS="--hint=compute_bound"
19+
ALFACI_SLURM_EXTRA_OPTS="--exclusive --cpu-bind=no"
1320
fi
1421
if [ -z "$ALFACI_SLURM_TIMEOUT" ]
1522
then
@@ -23,15 +30,24 @@ fi
2330
echo "*** Slurm request options :"
2431
echo "*** Working directory ..: $PWD"
2532
echo "*** Queue ..............: $ALFACI_SLURM_QUEUE"
26-
echo "*** CPUs ...............: $ALFACI_SLURM_CPUS"
33+
if [ -n "$ALFACI_SLURM_CPUS" ]
34+
then
35+
echo "*** CPUs ...............: $ALFACI_SLURM_CPUS"
36+
fi
2737
echo "*** Wall Time ..........: $ALFACI_SLURM_TIMEOUT min"
2838
echo "*** Job Name ...........: ${label}"
2939
echo "*** Extra Options ......: ${ALFACI_SLURM_EXTRA_OPTS}"
40+
41+
srun_cmdline_opts="-p $ALFACI_SLURM_QUEUE -n 1 -N 1 -t $ALFACI_SLURM_TIMEOUT"
42+
if [ -n "$ALFACI_SLURM_CPUS" ]
43+
then
44+
srun_cmdline_opts="$srun_cmdline_opts -c $ALFACI_SLURM_CPUS"
45+
fi
46+
3047
echo "*** Submitting job at ....: $(date -R)"
3148
(
3249
set -x
33-
srun -p $ALFACI_SLURM_QUEUE -c $ALFACI_SLURM_CPUS -n 1 \
34-
-t $ALFACI_SLURM_TIMEOUT \
50+
srun $srun_cmdline_opts \
3551
--job-name="${label}" \
3652
${ALFACI_SLURM_EXTRA_OPTS} \
3753
bash "${jobsh}"

0 commit comments

Comments
 (0)