...
Załadowanie domyślnej wersji kompilatora Intel
Code Block |
---|
|
module add plgrid/tools/intel |
Załadowanie kompilatora Intel w wersji 13.0
Code Block |
---|
|
module add plgrid/tools/intel/13.0 |
Spis wszystkich dostępnych wersji kompilatorów Intel
Code Block |
---|
|
module avail plgrid/tools/intel |
Zamiana wersji Matlab z wersji R2012b na R2013b
Code Block |
---|
|
module switch plgrid/apps/matlab/R2012b plgrid/apps/matlab/R2013b |
Usunięcie ścieżek do kompilatora Intel w wersji 13.0 z środowiska
Code Block |
---|
|
module addrm plgrid/tools/intel/13.0 |
Przykładowy skrypt PBS skrypt SLURM wykorzystujący polecenie Module do załadowania programu Matlab w domyślnej wersji i wykonania obliczeń zawartych w pliku matlab.m (skrypt to matlab.pbs)
Code Block |
---|
|
#!/bin/shbash
#przykladowe#SBATCH opcje dla polecenia qsub
#PBS -l walltime=5:00
#PBS -l mem=1gb
#PBS -q-N 1
#SBATCH --ntasks-per-node=2
#SBATCH -t 10:00
#SBATCH -p plgrid-testing
#przejdz do katalogu na pliki tymczasowe zadania
cd $TMPDIR
#ustaw srodowisko uruchomieniowe dla Matlab w wersji domyslnej
module add plgrid/apps/matlab
#uruchom program
matlab < $PBS$SLURM_OSUBMIT_WORKDIRDIR/matlab.m > $PBS$SLURM_OSUBMIT_WORKDIRDIR/matlab.out
#skasuj katalog tymczasowy:
rm -rf $TMPDIR |
Uwagi
Zaleca się ładować moduły jedynie w skryptach obliczeniowych, a nie w skryptach uruchamianych przy logowaniu na maszynę dostępową lub węzeł obliczeniowy. Dzięki temu łatwiej kontrolować środowisko uruchomieniowe oprogramowania, które ma zostać użyte oraz uniknąć konfliktów pomiędzy załadowanymi modułami.
- module avail 2>&1 | grep nazwa
Komenda module avail <nazwa>
znajduje jedynie moduły zaczynające się od ciągu znaków <nazwa>
dlatego, jeżeli poszukuje się modułów zawierających gdziekolwiek ciąg <nazwa>
należy wykonać polecenie
Code Block |
---|
|
module spider <nazwa>
Wykorzystanie własnych modułów (Zaawansowane)
System Modules Pakiet Lmod umożliwia również tworzenie własnych modułów (TCL lub Lua). W tym celu należy wykonać polecenie:
module use /path/to/personal/modulefiles
Podana ścieżka określa katalog w którym użytkownik przetrzymuje załadować moduł use.own
. Przy pierwszym załadowaniu modułu use.own
zostanie założona w katalogu domowym użytkownika kartoteka privatemodules
. W niej należy umieszczać własne moduły. Program modules
automatycznie lmod automatycznie sprawdzi nowe zainstalowane moduły i doda je do listy dostępnych. W modułach można wykorzystywać funkcje języka Tcl. Informacje jak tworzyć własne moduły znajdują się na stronie pakietu Modules.języków TCL lub Lua.
Code Block |
---|
title | Przykładowy moduł w LUA |
---|
linenumbers | true |
---|
|
-- -*- lua -*-
local pkgName = myModuleName()
local fullVersion = myModuleVersion()
whatis("Name: "..pkgName)
whatis("Version "..fullVersion)
whatis("Category: apps/chemistry")
whatis("Description: Molcas@UU 8.0 (v.15-06-18) quantum chemistry chemistry package")
whatis("URL: http://www.kvant.kemi.uu.se/molcas/index.html")
whatis("Keyword: QC, chemistry")
-- add path to Molcas to PATH environmental variable and set MOLCAS environmental variable
prepend_path('PATH','/net/archive/groups/plg******/software/molcas.uu.8/molcas-8.0-15.06.18_CentOS_7.0_x86_64/bin')
setenv('MOLCAS', '/net/archive/groups/plg******/software/molcas.uu.8/molcas-8.0-15.06.18_CentOS_7.0_x86_64')
add_property("state","testing")
require "math"
-- set Molcas scratch dir accordingly to SLURM environment
if (os.getenv('SLURM_JOB_ID') ~= nil) then
setenv('MOLCAS_WORKDIR', os.getenv('SCRATCHDIR'))
else
setenv('MOLCAS_WORKDIR', os.getenv('SCRATCH'))
end |