![]()
Das Modules Paket ist eine Software, mit der auf den RRZN-Computeservern (Ausnahme: Zen) auf einfache Art und Weise die Arbeitsumgebung modifiziert werden kann. Sie besteht im Wesentlichen aus Kommandos und zugehörigen Definitionsdateien (Modulefiles), in denen festgelegt wird, welche spezifischen Operationen durchgeführt werden sollen (zum Beispiel Erweitern der Umgebungsvariablen PATH, LD_LIBRARY_PATH usw.).
Auf den RRZN-Computeservern wird das Setzen geeigneter Arbeitsumgebungen für alle zusätzlich zum Linux-Betriebssystem installierten Softwareprodukte (CAE-Programme, Compiler usw.) über Modulefiles zur Verfügung gestellt.
Die Benutzung des Modules Paketes ist per Default initialisiert.
Das Kommando lautet:
module
Die weiteren Optionen erhält man mit
$ module help
Modules Release 3.2.5 2007-02-14 (Copyright GNU GPL v2 1991):
Usage: module [ switches ] [ subcommand ] [subcommand-args ]
Switches:
-H|--help this usage info
......
Available SubCommands and Args:
+ add|load modulefile [modulefile ...]
+ rm|unload modulefile [modulefile ...]
+ switch|swap [modulefile1] modulefile2
+ display|show modulefile [modulefile ...]
+ avail [modulefile [modulefile ...]]
+ use [-a|--append] dir [dir ...]
+ list
+ help [modulefile [modulefile ...]]
+ whatis [modulefile [modulefile ...]]
Hier ist die Ausgabe von module help nur unvollständig aufgeführt. Es gibt außerdem noch eine Manual-Page: man module
Das listet alle zur Verfügung stehenden Modulefiles.
Das listet alle aktuell geladenen Modulefiles.
Das zeigt, welche Umgebung durch das spezifische Modulefile gesetzt wird, ohne die Aktion durchzuführen.
Das setzt die in dem spezifischen Modulefile definierte Umgebung.
Das setzt die in dem spezifischen Modulefile definierte Umgebung wieder zurück (gewissermaßen "undo").
$ module list
No Modulefiles Currently Loaded.
$ module avail
------------------ /usr/share/Modules/modulefiles -------------------
dot module-info null
module-cvs modules use.own
-------------------------- /sw/modulefiles --------------------------
abaqus/674 mathematica/6.0
abaqus/681(default) matlab
ansys/11.0(default) nagcl
ansys/110 nagf95
cfx/11.0(default) nagfl90
comsol/3.3 ncl/5.0.0-gcc(default)
fluent numpy/1.1.0
g03 patran
gams/227 pgi/5.2
hfss pgi/6.2
icc/10.1.015(default) pgi/7.2(default)
ict/3.1.1(default) pgi-mpich/7.2(default)
idb/10.1.015(default) povray/3.6
ifort/10.1.015(default) starcd/4.06(default)
imkl/10.0.3.020(default) totalview/8.2.0(default)
impi/3.1(default) totalview/8.5.0
itac/7.1(default) vtk/5.0
marc/2007
$ module show ifort
-------------------------------------------------------------------
/sw/modulefiles/ifort/10.1.015:
module-whatis Intel Fortran compiler Version 10.1.015
prepend-path PATH /sw/tools/intel/fce/10.1.015/bin
prepend-path LD_LIBRARY_PATH /sw/tools/intel/fce/10.1.015/lib
prepend-path LD_RUN_PATH /sw/tools/intel/fce/10.1.015/lib
prepend-path MANPATH /sw/tools/intel/fce/10.1.015/man
setenv INTEL_LICENSE_FILE 28518@licserv.rrzn.uni-hannover.de
-------------------------------------------------------------------
$ module load ifort
$ echo $PATH
/sw/tools/intel/fce/10.1.015/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:.
Von einem Softwareprodukt kann es mehrere Versionen geben. Das spiegelt sich dann bei den zugehörigen Modulefiles wider. Im Beispiel sind drei Versionen der PGI-Software aufgeführt. Mit
module load pgi
erhält man die Default-Version (im Beispiel 7.2). Will man eine andere Version haben, etwa 6.2, muss man eingeben:
module load pgi/6.2
In Batchjobs und Shellscripts muss man noch etwas für die vollständige Initialisierung des Module Paketes tun (s. auch Beispiele für Batchjobs):
. $MODULESHOME/init/ksh
wenn man mit der Kornshell arbeitet,
. $MODULESHOME/init/bash
wenn man mit der Bash arbeitet. Die Umgebungsvariable MODULESHOME wird vom Systemprolog gesetzt.
Leibniz Universität IT Services - URL: www.rrzn.uni-hannover.de/modules.html?&L=2
Dr. Gerd Brand, Letzte Änderung: 27.09.2012
Copyright Gottfried Wilhelm Leibniz Universität Hannover