Software
Module-Umgebung
Verschiedene Softwareumgebungen/Tools steht zentral als 'module' zur Verfügung. Für die Nutzung sind im Wesentlichen folgende Befehle notwendig
module avail : Anzeigen der verfügbaren modules module list : Anzeigen der aktuell geladenen modules module load <modName> : Laden des module modName z.B. module load intel/2017.1.132 module help : Anzeigen weiterer Optionen
Wissenschaftliche Anwendungen
Compiler und Bibliotheken
An Compilern und mpi Umgebungen stehen aktuell die Versionen aus der Intel Compiler Suite zur Verfügung. Diese sind:
- intel compiler und intel mpi
- gcc-4.9.2 und OpenMPI 1.10.2
Alle Module die von Intel stammen oder an diese angelehnt gebaut wurden, tragen die Kennung hfi im Namen. Die Module, die die gcc-Versionskennung mit im Namen tragen (z.B. mpi/openmpi-1.10.2-hfi-gcc-4.9.2) sind mit Fortran support nachgebaut worden.
Die openmpi-1.10.0 Versionen sind nur aus backward compatibility Gründen nach einem OPA Update beibehalten worden. Von ihrer Verwendung wird abgeraten!
Intel Umgebungebung
#setup the env:
>module load compiler/intel-2016.2.181
>module load mpi/intel-5.1.3.181
#Dieses reicht um auch die mkl zu nutzen. Zu überprüfen mit:
>echo $MKLROOT
Bei der mkl sind nicht alle interfaces der fftw für alle Compiler compiliert. Sollte hier eine Kombination fehlen, kann man sich eine kopie aus mkl holen, und das fehlende Interface selbst kompilieren. Dieses war z.B. für vasp 5.4 notwendig
Intel Compiler Optionen
Bei einer reinen Fortran Applikation mit wenige c Routinen wurden die folgenden Compiler und Optionen genutzt. (Die optionen sind Sinngemaess in die makefiles einzupflegen, oder die env namen sind entsprechend der Verwendung in den Makefiles zu ändern:
>export FC=mpiifort
>export CC=icc
>export FFLAGS="-O3 -xCORE-AVX2 -assume buffered-io"
>export CFLAGS="-O3 -xCORE-AVX2"
>export AR=xiar
SLURM script Intel Umgebung reiner mpi Job
################# #!/bin/bash # eine Variante, mit der auch VASP eine gute Performance # gezeigt hat. Erneut ist --cpus-per-task=48 verwendet worden, # was eigentlich unlogisch ist, die intel mpi jedoch # zu einem brauchbaren binding ueberredet. # weiterhin sind die optionen: # I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 und -perhost 24 # genutzt. # name of the job #SBATCH -J test_1 #SBATCH -N 16 #SBATCH --cpus-per-task=48 # runtime after which the job will be killed (estimated) #SBATCH -t 04:00:00 ##SBATCH -p test # Change to the directory the job was submitted from cd $SLURM_SUBMIT_DIR export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 mpirun -np 384 -perhost 24 ./PsiPhi > log 2>&1 ##################
GNU Umgebung
>module load mpi/openmpi-1.10.2-hfi-gcc-4.9.2
># loads compiler/gcc-4.9.2 as a dependencie
SLURM script GNU + openmpi Umgebung; reiner mpi Job
#!/bin/bash
# name of the job
#SBATCH -J test_20
#SBATCH -N 64
#SBATCH --tasks-per-node=24
#SBATCH --cpus-per-task=2
# runtime after which the job will be killed (estimated)
#SBATCH -t 02:00:00
# Change to the directory the job was submitted from
cd $SLURM_SUBMIT_DIR
# gnu openmp
export OMP_NUM_THREADS=1
time mpirun -np 1536 --report-bindings --bind-to core --rank-by core ./PsiPhi > log 2>&1
#last line
MATLAB Parallel Server
Add-On Software Components
MATLAB Parallel Server Remote Add-On Files (zip) (for MATLAB 2019b to 2021a)
MATLAB Parallel Server Remote Add-On Files (tar.gz) (for MATLAB 2019b to 2021a)
Getting Started Documentation
Getting_Started_With_Serial_And_Parallel_MATLAB
Getting_Started_With_Serial_And_Parallel_MATLAB_With_Remote_Submission
Workshop Presentation Slides
Ude Parallel-computing-workshop-part-i
Ude Parallel-computing-workshop-part-ii