![]()
Intel MPI ist eine Implementation des MPI-Standards für Nutzung mit den Intel C/C++ und/oder Intel Fortran Compilern.
Verfügbar auf:
Um dieses Paket zu benutzen, muss man das Modul laden. Dies macht man so:
module load impi
Falls Sie die Fehlermeldung "module: command not found" bekommen, müssen Sie dieses Kommando eingeben (im normalen Fall ist das "module" Kommando bereits vorhanden):
source /usr/share/Modules/init/`basename $SHELL`
Am besten sollte die erste Zeile eines Batchskriptes die folgende Zeile enthalten:
#!/bin/bash -login
dann wird die Modulesumgebung automatisch beim Jobstart geladen.
Um ein MPI-Programm unter Kontrolle des Batchsystems laufen zu lassen verwendet man ein Batchskript ähnlich wie folgendes:
#!/bin/bash -login
#PBS -N <jobname>
#PBS -M ich@meine.email.adresse.de
#PBS -m ae
#PBS -j oe
#PBS -l nodes=2:ppn=4
#PBS -l walltime=01:10:00
#PBS -l mem=4gb
# show which computer the job ran on
echo "Job ran on:" $(hostname)
# load the relevant modules
module load impi
# change to work dir:
cd $PBS_O_WORKDIR
# determine the number of processes in the job
nprocs=$(cat ${PBS_NODEFILE} | wc -l)
# the program to run in parallel
mpirun --rsh=ssh -machinefile $PBS_NODEFILE -np $nprocs <program>
In diesem Beispiel werden zwei Knoten mit 4 Prozesse pro Knoten (ppn), eine Stunde und 10 Minuten Wallclockzeit und 4GB Hauptspeicher angefordert.
Die Gesamtanzahl an angeforderten Prozesse wird durch in die Umgebungsvariable nprocs gesetzt und später im mpirun Aufruf verwendet. In diesem Falle wird die Variable nprocs den Wert '8' enthalten.
Der erste Argument zum mpirun Aufruf spezifiziert, dass ssh als Kommunikationsprotokoll verwendet werden soll. Per default ist dies auf rsh eingestellt, was auf dem Clustersystem aus Sicherheitsgründen ausgeschlossen ist. Der zweite Argument spezifiziert die Rechnernamen der Rechenknoten, die für die Berechnung verwendet werden sollen. Die automatische Umgebungsvariable $PBS_NODEFILE wird vom Batchsystem gesetzt und enthält die benötigte Rechnernameliste. Der dritte Argument spezifiziert die Anzahl an Prozesse, die für die Berechung benutzt werden sollen. Die Anzahl wird aus der Variable nprocs gelesen. Zuletzt übergibt man den Dateinamen (nötigenfalls mit vollem Pfad) des MPI-Programmes, das ausgeführt werden soll.
Leibniz Universität IT Services - URL: www.rrzn.uni-hannover.de/intel_mpi.html?&L=2
Dr Paul Cochrane, Letzte Änderung: 25.04.2012
Copyright Gottfried Wilhelm Leibniz Universität Hannover