Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt

Code

...

compilation

Intel compiler

Codeblock
titleSerial icc
collapsetrue
module load intel
icc -o hello.bin hello.c
ifort -o hello.bin hello.f90
icpc -o hello.bin hello.cpp

...

Codeblock
titleOpenMP gcc
collapsetrue
module load gcc
gcc -fopenmp -o hello.bin hello.c
gfortran -fopenmp -o hello.bin hello.f90
g++ -fopenmp -o hello.bin hello.cpp

Code execution

...

Codeblock
titleSerial
collapsetrue
#SBATCH --nodes=1
./hello.bin


Codeblock
titleOpenMP, full node
collapsetrue
#SBATCH --nodes=1
#SBATCH --partition=standard96:test
export OMP_PROC_BIND=spread
export OMP_NUM_THREADS=96
./hello.bin


Codeblock
titleOpenMP, half node
collapsetrue
#SBATCH --nodes=1
#SBATCH --partition=standard96:test
export OMP_PROC_BIND=spread
export OMP_NUM_THREADS=48
./hello.bin


Codeblock
titleOpenMP, hyperthreading
collapsetrue
#SBATCH --nodes=1
#SBATCH --partition=standard96:test
export OMP_PROC_BIND=spread
export OMP_NUM_THREADS=192
./hello.bin

...

Codeblock
titleOpenMP simultaneously hyperthreading
collapsetrue
#SBATCH --nodes=2
#SBATCH --partition=standard96:test
module load impi/2019.5
export SLURM_CPU_BIND=none
export OMP_PROC_BIND=spread
export OMP_NUM_THREADS=96
mpirun -ppn 2 \
       -np 1 ./code1.bin : -np 1 ./code2.bin : -np 1 ./code3.bin : -np 1 ./code4.bin

...

Intel compiler flags

To make full use of the vectorizing capabilities of the CPUs, AVX512 instructions and the 512bit ZMM registers can be used with the following compile flags with the Intel compilers:

...