Although SQUID's general-purpose CPU nodes have 76 cores per node, you may not use all cores in one program. In such a case, it is better you execute multiple programs in one job with the following job-script. You can use effectively SQUID computing resources.
Job script example: execute 4 sequential processing programs in 1 job
-
Execute 4 programs (a.out to d.out) that have not been parallelized with OpenMP or MPI in 1 job.
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash #PBS -q SQUID #PBS --group=[group name] #PBS -l elapstim_req=1:00:00 cd $PBS_O_WORKDIR ./a.out & ./b.out & ./c.out & ./d.out wait |
Job script example: execute 4 OpenMP programs in 1 job
-
4 programs (a.out - d.out) parallelized by OpenMP or Automatic parallel are executed in 1 job. a.out is executed with 8 parallel, b.out with 4 parallel, c.out with 2 parallel, and d.out with no parallel. If you want all of them to have the same number of parallelism, please specify only once at the beginning (export OMP_NUM_THREADS=8 in the following example).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/bash #PBS -q SQUID #PBS --group=[group name] #PBS -l elapstim_req=1:00:00 cd $PBS_O_WORKDIR module load BaseCPU export OMP_NUM_THREADS=8 ./a.out & export OMP_NUM_THREADS=4 ./b.out & export OMP_NUM_THREADS=2 ./c.out & export OMP_NUM_THREADS=1 ./d.out wait |
Job script example: execute 2 MPI programs in 1 job
-
2 MPI programs (a-mpi.out and b-mpi.out) are executed in 1 job. a-mpi.out is executed in 76 parallel and b-mpi.out in 152 parallel on 3 nodes, general-purpose CPU.
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash #PBS -q SQUID #PBS --group=[group name] #PBS -T intmpi #PBS -l elapstim_req=1:00:00 #PBS -b 3 #------- Program execution ----------- module load BaseCPU/2021 export I_MPI_DEBUG=4 cd $PBS_O_WORKDIR mpirun ${NQSV_MPIOPTS} -np 76 ./a-mpi.out : -np 152 ./b-mpi.out |