Intel PSXE has been superseded by Intel OneAPI, which is now available on the Nestum cluster. More information on using oneAPI and how it differs from PSXE can be found in this post: Intel OneAPI toolchain now available on Nestum – Nestum Cluster (sofiatech.bg)
First you need to establish interactive session in (interact.p) partition on cn001 node using following command:
srun -p interact.p --pty bash
Then Intel compiler module intel should be loaded:
module load intel
The intel module enable the access to all Intel Compilers and libraries installed on nestum:
Intel C/C++ compiler (icc)
Manual page for the ICC compiler can be found here. Additional information regarding the compiler as well as user guides can be found on the Intel website.
Intel Fortran 77/90/95 compiler (ifort)
Manual page for the ifrot compiler can be found here. Again, the Intel website provides user guides and references.
Math Kernel Library (MKL)
The MKL libraries support can be enabled with compiler option -mkl
. For details please read following documentation.
OpenMP usage
In addition to high-level code optimizations, the Intel Compilers also enable threading through automatic parallelization and OpenMP support. It is important to set up your program in such way that SLURM understands your code and gets the right values for its environmental variables. Here is an example
#!/bin/bash
#SBATCH -p medium.p # partition (queue)
#SBATCH -N 1 # number of nodes (must be 1)
#SBATCH -n 32 # number of cores (must be between 1 and 32)
#SBATCH -t 0-2:00 # time (D-HH:MM)
#SBATCH -o slurm.%N.%j.out # STDOUT
#SBATCH -e slurm.%N.%j.err # STDERR
export OMP_NUM_THREADS=$SLURM_NTASKS
module load intel
Auto paralization option with OpenMP.
The Intel compilers also support automatic parallelization. With automatic parallelization, the compiler detects loops that can be safely and efficiently executed in parallel and generates multithreaded code. Adding the -parallel
option to the compile command is the only action required of the programmer.
OpenMPI
In case you want to build or develop parallel code with OpenMPI PAI compiled with Intel Compilers you can use one of two available modules openmpi/1.10.3-intel-2017
or openmpi/1.8.8-intel-2017
. Again you should create interactive session on compute node cn001 first. An example would be:
#!/bin/bash
#
#SBATCH -p medium.p # partition (queue)
#SBATCH -N 1 # number of nodes
#SBATCH -n 32 # number of cores
#SBATCH -t 0-2:00 # time (D-HH:MM)
#SBATCH -o slurm.%N.%j.out # STDOUT
#SBATCH -e slurm.%N.%j.err # STDERR
module load openmpi
mpirun "yourprogram"
Finally, here is the list of available MPI modules.
openmpi/1.10.3-intel-2017
openmpi/1.6.5-gcc-os
openmpi/1.8.8-gcc-os(default)
openmpi/1.8.8-intel-201