Software on Palma
We use the environment module approach to manage the user environment for different software, library or compiler versions on Palma. The distinct advantage of the modules approach is that the user is no longer required to explicitly specify paths for different executable versions, and try to keep the MANPATH and related environment variables coordinated. With the modules approach, users simply "load" and "unload" modules to control their environment. Type
module avail
to list all the modules which are available to be loaded. Notice that most of them indicate associated version numbers. Modules make it easy to switch between versions of a package. Specifying a module name without a version number will select the default production version.
Modules can be added with the call
module add name
where
name indicates the complete name of the module. This can be done in the .bashrc so you do not have to load the modules needen by default every time you log in.
module li
shows the already loaded modules.
In the following part, there is an overview of the installed software on Palma with the appropriate module names.
Compiler
Serial Compiler
Sets the environment variables CC, CXX, FC and FLAGS_FAST
compiler/intel/12 |
Version 12 der Intel Compiler Suite, inkl. C/C++ und Fortran |
intel/cc/11.1.059 |
Intel C und C++ Compiler |
intel/fc/11.1.059 |
Intel Fortran Compiler |
studio/12.2 |
Oracle Studio Compiler, nur zu Testzwecken gedacht |
pgi/11.3 |
PGI Compiler inkl. des PGI Accelerators, der mittels einfacher Pragmas GPU fähigen Code erzeugen kann |
MPI
Sets the environment variables MPICC, MPICXX, MPIF77 and MPIF90
mpi/intel/4.0.0.028 |
Intel MPI in Version 4, sollte standardmäßig verwendet werden |
Further variants:
mpi/intel/3.2.2.006 |
Ältere Version, nur aus Kompatibilitätsgründen |
intel/mpi/3.2.2.006 |
Dasselbe Modul |
mpi/mpich2/intel/1.2.1p1 |
MPICH2, falls von bestimmten Programmen benötigt |
mpi/mpich2/intel/1.3.1b |
|
mpi/mpich2/intel/1.3.2 |
|
mpi/mvapich2/intel/1.6-rc2 |
MVAPICH2, nur verwenden, falls Intel MPI nicht mit vielen Prozessen läuft |
mpi/mvapich2/intel/stable |
|
mpi/openmpi/gcc/1.4 |
OpenMPI, falls von bestimmten Programmen benötigt, mit GNU-Compiler übersetzt |
mpi/openmpi/intel/1.5.1 |
dito mit Intel Compiler |
Libraries
fftw/intel/2.1.5 |
Fastest Fourier Transform in the West, übersetzt mit Intel Compiler |
fftw/intel/3.2.2 |
|
fftw/intel/3.3-b1 |
FFTW, aktuelle Beta Version |
fftw/studio/3.2.2 |
FFTW, übersetzt mit Oracle Studio |
hdf5/parallel/1.8.4 |
parallele Version von HDF5 |
hdf5/serial/1.8.4 |
serielle Version von HDF5 |
netcdf/serial/4.1.1 |
|
netcdf/serial/intel/4.1.2 |
|
petsc/intel/3.0.0-p12 |
|
petsc/intel/3.1-p8 |
Portable, Extensible Toolkit for Scientific Computation Link zur Homepage |
slepc/intel/3.0.0-p7 |
|
slepc/intel/3.1-p6 |
Scalable Library for Eigenvalue Problem Computations, Extension of PETSC Link zur Homepage |
nag/fnl6i04dcl |
|
dislin/10.0 |
|
dislin/10.1 |
|
intel/mkl/10.2.4.032 |
Intel Math Kernel Library Dokumentation |
Debugger/Profiler
Allinea DDT
Paralleldebugger für MPI und
OpenMP. (Link zur
Seite des Herstellers)
Es steht eine Lizenz für bis zu 16 Prozesse bereit, die sich alle Nutzer teilen müssen. Deswegen nur so viele Prozesse nur solange verwenden, wie unbedingt notwendig. Zur Verwendung des Programms das Modul
ddt/2.6.1
laden, danach lässt sich das GUI über das Kommando
ddt
starten.
OMPP
Marmot
Marmot ist ein Tool, das MPI Programme auf Fehler wie Deadlocks überprüft. Zur Benutzung:
- Compileraufruf ersetzen durch marmotcc, marmotcxx, marmotf77, marmotf90
- Programm starten mit MARMOT_LOGFILE_TYPE=1 mpirun -np(n+1) ./Programmname
- Es wird eine HTML Datei erzeugt, die Hinweise auf Programmierfehler liefert
Oracle Studio
studio/12.2 |
Compiler Suite, die Profiling Tools für serielle und parallele Programme mitbringt |
Intel Trace Analyzer and Collector
intel/itac/7.2.2 |
MPI Profiler |
Intel Inspector
tools/intel-inspector/xe_2011 |
memory error and thread checker tool for C, C++, C# .NET, and Fortran |
- (optional) um gefundene Fehler im Code auffinden zu können, mit der Option "-g" kompilieren
- GUI mittels "inspxe-gui" aufrufen
- Projekt anlegen
- "New Analysis" auswählen
- Programm auf Probleme wie Speicherprobleme, Speicherlecks, Data Races und Deadlocks untersuchen
Intel VTune
tools/vtune/xe_2011 |
Performanceengpässe finden |
Achtung! Aufgrund eines Bugs im Prozessortyp, der auf palma1 verwendet wird, darf das Programm auf keinen Fall auf dem Headnode zum Daten sammeln eingesetzt werden. Auf palma50 ist dies problemlos möglich.
- GUI mittels "amplxe-gui" aufrufen
-
Miscellaneous
R
Rmpi lässt sich folgendermaßen verwenden:
module rm intel/mpi
module add mpi/openmpi/gcc/1.4
Einen Knoten reservieren
qsub -I -A ...
mpirun -np 8 -machinefile $PBS_NODEFILE --mca
Programm ausführen...
Rmpi wieder beenden:
mpi.close.Rslaves()
mpi.quit()