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)
Intel Fortran 77/90/95 compiler (ifort)
Math Kernel Library (MKL)
The MKL libraries support can be enabled with compiler option
-mkl. For details please read following documentation.
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.
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.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