In addition to parallelism internode with MPI, automatic parallelization and intra-node parallel execution using OpenMP are possible.
How to use AuroParallelization/OpenMP
 

Compile

You can use intel MPI compiler on SQUID. Please note that commands are different for each programming language.
 

MPI and Auto Parallelization

$ module load BaseCPU/2021
 
$ mpiifort -parallel [options] source_file (Fortran)
$ mpiicc -parallel [options] source_file (C)
$ mpiicpc -parallel [options] source_file (C++)

MPI and OpenMP

$ module load BaseCPU/2021
 
$ mpiifort -qopenmp [options] source_file (Fortran)
$ mpiicc -qopenmp [options] source_file (C)
$ mpiicpc -qopenmp [options] source_file (C++)

 
 

Execution Script

The following is an example of a script for running MPI & AutoParallelization/OpenMP programs.
 
This script executes MPI batch request with 4 nodes parallel execution (intelMPI), 76 parallel execution per node (Auto-parallelization or OpenMP), and 1 hour elapsed time. Please specify the same value for "cpunum_job" (number of cores used per node), specified by -l option, and "OMP_NUM_THREADS" (number of auto-parallelization/OpenMP processes per node), specified by -v option, must be the same value, otherwise execution performance may be degraded.

 

Notes on multi-node execution

If you specify options or environment variables with "setenv (option name)" in the job script, they are set only on the master node and not on the slave nodes. If you want the settings to be reflected on all nodes, specify "#PBS -v (option name)". The details are described in the following.

How to write a job script Specifying environment variables