-
Notifications
You must be signed in to change notification settings - Fork 1
/
job_ompc_tasks.sh
65 lines (52 loc) · 1.49 KB
/
job_ompc_tasks.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
#!/bin/bash
#SBATCH --nodes=9 # numbers of nodes
#SBATCH --ntasks-per-node=1 # numbers of taks per node
#SBATCH --ntasks=9
#SBATCH --cpus-per-task=24 # numbers of threads per node
cd $SLURM_SUBMIT_DIR
module purge
module load mpich/4.0.2
module load ucx/1.12
#configure the numbers of threads
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export LIBOMP_NUM_HIDDEN_HELPER_THREADS=24
export OMPCLUSTER_SCHEDULER=roundrobin
export OMPCLUSTER_BLOCKING_SCHEDULER=1
pqr_list=$1 # "sort_list.dat"
input=$2 # "input.json"
gas=$3 # choice beteween "He" or "N2"
# number of pqrs files
npqr=`wc -l $pqr_list | awk '{print $1}'`
samples=5
for nworkers in 10 12 14 16 18 20 22 24 26 28 30 32; do
for((i=0;i<$npqr;i++)); do
let j=$i+1
nfile=$j'p'
pqr_file=`sed -n $nfile $pqr_list`
pqr_name=`echo ${pqr_file%.*}`
log_file=$pqr_name'.log'
cat > $input <<!
{
"targetFileName": "$pqr_file",
"ntask" : $nworkers,
"numberProbe" : 10000,
"nIter" : 10,
"seed" : 2104,
"dt" : 10.0,
"Temp" : 298.0,
"skin" : 0.01,
"GasBuffer" : "$gas",
"Equipotential" : "no",
"Short-range cutoff" : "yes",
"LJ-cutoff" : 12.0,
"Long-range forces" : "yes",
"Long-range cutoff" : "yes",
"Coul-cutoff" : 25.0,
"polarizability" : "yes"
}
!
for((k=0;k<$samples;k++)); do
srun --mpi=pmi2 -n $SLURM_NTASKS -c $SLURM_CPUS_PER_TASK singularity exec runtime_latest.sif ./build/bin/massccs $input >> $gas'_CCS_8nodes_ntasks'$nworkers'_'$log_file
done
done
done