-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcadescontainerwrapper.sh
86 lines (83 loc) · 4.14 KB
/
cadescontainerwrapper.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#! /bin/bash
module load PE-gnu
module load singularity
IMAGE="/nfs/home/mfasel_alice/mfasel_cc7_alice.simg"
BINDS="-B /home:/home -B /nfs:/nfs -B"
execmd=""
for var in "$@"
do
if [ "x$(echo $execmd)" == "x"]; then
execmd=$var
else
execmd=$(printf "%s %s" "$execmd" "$var")
fi
done
# Export slurm environment to singularity
# We don't know which ones will be needed
# by the job so better export all
export SINGULARITYENV_SLURM_JOBID=$SLURM_JOBID
export SINGULARITYENV_SLURM_JOB_ID=$SLURM_JOB_ID
export SINGULARITYENV_SLURM_ARRAY_JOB_ID=$SLURM_ARRAY_JOB_ID
export SINGULARITYENV_SLURM_ARRAY_TASK_ID=$SLURM_ARRAY_TASK_ID
export SINGULARITYENV_SLURM_ARRAY_TASK_MAX=$SLURM_ARRAY_TASK_MAX
export SINGULARITYENV_SLURM_ARRAY_TASK_MIN=$SLURM_ARRAY_TASK_MIN
export SINGULARITYENV_SLURM_ARRAY_TASK_COUNT=$SLURM_ARRAY_TASK_COUNT
export SINGULARITYENV_SLURM_ARRAY_TASK_STEP=$SLURM_ARRAY_TASK_STEP
export SINGULARITYENV_SLURM_CLUSTER_NAME=$SLURM_CLUSTER_NAME
export SINGULARITYENV_SLURM_CPUS_ON_NODE=$SLURM_CPUS_ON_NODE
export SINGULARITYENV_SLURM_CPUS_PER_GPU=$SLURM_CPUS_PER_GPU
export SINGULARITYENV_SLURM_CPUS_PER_TASK=$SLURM_CPUS_PER_TASK
export SINGULARITYENV_SLURM_CONTAINER=$SLURM_CONTAINER
export SINGULARITYENV_SLURM_DIST_PLANESIZE=$SLURM_DIST_PLANESIZE
export SINGULARITYENV_SLURM_DISTRIBUTION=$SLURM_DISTRIBUTION
export SINGULARITYENV_SLURM_EXPORT_ENV=$SLURM_EXPORT_ENV
export SINGULARITYENV_SLURM_GPU_BIND=$SLURM_GPU_BIND
export SINGULARITYENV_SLURM_GPU_FREQ=$SLURM_GPU_FREQ
export SINGULARITYENV_SLURM_GPUS=$SLURM_GPUS
export SINGULARITYENV_SLURM_GPUS_ON_NODE=$SLURM_GPUS_ON_NODE
export SINGULARITYENV_SLURM_GPUS_PER_NODE=$SLURM_GPUS_PER_NODE
export SINGULARITYENV_SLURM_GPUS_PER_SOCKET=$SLURM_GPUS_PER_SOCKET
export SINGULARITYENV_SLURM_GPUS_PER_TASK=$SLURM_GPUS_PER_TASK
export SINGULARITYENV_SLURM_GTIDS=$SLURM_GTIDS
export SINGULARITYENV_SLURM_HET_SIZE=$SLURM_HET_SIZE
export SINGULARITYENV_SLURM_JOB_ACCOUNT=$SLURM_JOB_ACCOUNT
export SINGULARITYENV_SLURM_JOB_CPUS_PER_NODE=$SLURM_JOB_CPUS_PER_NODE
export SINGULARITYENV_SLURM_JOB_DEPENDENCY=$SLURM_JOB_DEPENDENCY
export SINGULARITYENV_SLURM_JOB_NAME=$SLURM_JOB_NAME
export SINGULARITYENV_SLURM_JOB_NODELIST=$SLURM_JOB_NODELIST
export SINGULARITYENV_SLURM_JOB_NUM_NODES=$SLURM_JOB_NUM_NODES
export SINGULARITYENV_SLURM_JOB_PARTITION=$SLURM_JOB_PARTITION
export SINGULARITYENV_SLURM_JOB_QOS=$SLURM_JOB_QOS
export SINGULARITYENV_SLURM_JOB_RESERVATION=$SLURM_JOB_RESERVATION
export SINGULARITYENV_SLURM_LOCALID=$SLURM_LOCALID
export SINGULARITYENV_SLURM_MEM_PER_CPU=$SLURM_MEM_PER_CPU
export SINGULARITYENV_SLURM_MEM_PER_GPU=$SLURM_MEM_PER_GPU
export SINGULARITYENV_SLURM_MEM_PER_NODE=$SLURM_MEM_PER_NODE
export SINGULARITYENV_SLURM_NNODES=$SLURM_NNODES
export SINGULARITYENV_SLURM_NODE_ALIASES=$SLURM_NODE_ALIASES
export SINGULARITYENV_SLURM_NODEID=$SLURM_NODEID
export SINGULARITYENV_SLURM_NODELIST=$SLURM_NODELIST
export SINGULARITYENV_SLURM_NPROCS=$SLURM_NPROCS
export SINGULARITYENV_SLURM_NTASKS=$SLURM_NTASKS
export SINGULARITYENV_SLURM_NTASKS_PER_CORE=$SLURM_NTASKS_PER_CORE
export SINGULARITYENV_SLURM_NTASKS_PER_GPU=$SLURM_NTASKS_PER_GPU
export SINGULARITYENV_SLURM_NTASKS_PER_NODE=$SLURM_NTASKS_PER_NODE
export SINGULARITYENV_SLURM_NTASKS_PER_SOCKET=$SLURM_NTASKS_PER_SOCKET
export SINGULARITYENV_SLURM_OVERCOMMIT=$SLURM_OVERCOMMIT
export SINGULARITYENV_SLURM_PRIO_PROCESS=$SLURM_PRIO_PROCESS
export SINGULARITYENV_SLURM_PROCID=$SLURM_PROCID
export SINGULARITYENV_SLURM_PROFILE=$SLURM_PROFILE
export SINGULARITYENV_SLURM_RESTART_COUNT=$SLURM_RESTART_COUNT
export SINGULARITYENV_SLURM_SUBMIT_DIR=$SLURM_SUBMIT_DIR
export SINGULARITYENV_SLURM_SUBMIT_HOST=$SLURM_SUBMIT_HOST
export SINGULARITYENV_SLURM_TASK_PID=$SLURM_TASK_PID
export SINGULARITYENV_SLURM_TASKS_PER_NODE=$SLURM_TASKS_PER_NODE
export SINGULARITYENV_SLURM_THREADS_PER_CORE=$SLURM_THREADS_PER_CORE
export SINGULARITYENV_SLURM_TOPOLOGY_ADDR=$SLURM_TOPOLOGY_ADDR
export SINGULARITYENV_SLURM_TOPOLOGY_ADDR_PATTERN=$SLURM_TOPOLOGY_ADDR_PATTERN
export SINGULARITYENV_SLURMD_NODENAME=$SLURMD_NODENAME
# Export cluster type to CADES
export SINGULARITYENV_CLUSTER="CADES"
# Build containercommand
containercmd=$(printf "singularity exec %s %s %s" "$BINDS" $CONTAINER "$execmd")
eval $containercmd