Korzystanie z modułów: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
 
(Nie pokazano 15 wersji utworzonych przez 5 użytkowników)
Linia 1: Linia 1:
 
<small>< [[Podręcznik użytkownika KDM]] < Korzystanie z modułów</small>
 
<small>< [[Podręcznik użytkownika KDM]] < Korzystanie z modułów</small>
  
=== Moduły ===
+
=== Moduły - wersja domyślna===
 
'''Moduł''' - moduły pozwalają na łatwą i szybką konfigurację środowiska sesji użytkownika. Każda wersja zainstalowanych na klastrze programów lub bibliotek produkcyjnych posiada własny moduł w formacie '''nazwa_aplikacji/wersja''', np.'''gaussian/g09.E.01 '''. Moduły dodają odpowiednie zmienne środowiskowe lub podmieniają ich wartości. Do zmiennych środowiskowych należą standardowe w Linux-ach zmienne '''PATH''' oraz '''LD_LIBRARY_PATH''', lecz także te, które są wyjątkowe dla aplikacji działających na klastrze.  
 
'''Moduł''' - moduły pozwalają na łatwą i szybką konfigurację środowiska sesji użytkownika. Każda wersja zainstalowanych na klastrze programów lub bibliotek produkcyjnych posiada własny moduł w formacie '''nazwa_aplikacji/wersja''', np.'''gaussian/g09.E.01 '''. Moduły dodają odpowiednie zmienne środowiskowe lub podmieniają ich wartości. Do zmiennych środowiskowych należą standardowe w Linux-ach zmienne '''PATH''' oraz '''LD_LIBRARY_PATH''', lecz także te, które są wyjątkowe dla aplikacji działających na klastrze.  
  
{{uwaga2|Z mechanizmu należy korzystać na węzłach roboczych - w zadaniach (czy to wsadowych czy interaktywnych).}}
+
{{uwaga2|Z mechanizmu należy korzystać na ui.wcss.pl lub węzłach roboczych - w zadaniach (czy to wsadowych czy interaktywnych).}}
  
 
'''Polecenie''':
 
'''Polecenie''':
 
*'''module avail''' - listuje dostępne moduły, polecana metoda do sprawdzenia zasobów oprogramowania
 
*'''module avail''' - listuje dostępne moduły, polecana metoda do sprawdzenia zasobów oprogramowania
                                      ---------- /usr/local/Modules ----------
+
  # wylistuj wszystkie dostępne moduly
abaqus/6.14-2(default)                          hdf5/1.8.11-intel13.1                              openfoam/2.1.1-gcc4.7.4
+
  module avail
abinit/7.10.4-intel13.1(default)                hdf5/1.8.14                                        openmpi/1.10.0-gcc5.2.0
+
 
adf/2014.01                                    hdf5/1.8.14-gcc4.9.2                              openmpi/1.10.0-intel15.0
+
  # wylistuj dostępne moduły zawężając wyniki do Pythona:
adf/2014.10(default)                            hdf5/1.8.14-intel13.1                              openmpi/1.10.1-intel15.0
+
  module avail Python
amber/14-intel15.0(default)                    hdf5/1.8.14-intel15.0(default)                    openmpi/1.8.4-gcc4.7.4
+
 
argtable2/13-gcc4.9.2                          hdf5/1.8.14-intel15.0dbg                          openmpi/1.8.4-gcc4.9.2
+
  # wylistuj dostępne moduły zawężając wyniki do Pythona ignorując rozmiar znaków:
atk/2.18.0-gcc4.9.2                            hdf5/1.8.16-intel15.0                              openmpi/1.8.4-gcc5.1.0
+
  module avail -i python
atk-spi2/2.19.2-gcc4.9.2                        hydra/3.1.4(default)                              openmpi/1.8.4-intel13.1
 
beagle/2.1.2-gcc5.1.0(default)                  impi/5.0.2.044(default)                            openmpi/1.8.4-intel15.0(default)
 
binutils/2.25(default)                          intel/12.1                                        orca/3.0.3-intel13.1(default)
 
blacs/1.1                                      intel/13.1                                        pango/1.39.0-gcc4.9.2
 
blacs/1.1-intel15.0                            intel/15.0(default)                                parmetis/4.0.3-intel15.0
 
blas/3.6.0                                      jags/3.4.0-intel15.0(default)                      pdb2pqr/2.0.0
 
blas/3.6.0-intel15.0                            jags/4.0.1-intel15.0                              petsc/3.6.3
 
boost/1.59.0-gcc4.9.2                          jasper/1.900.1-gcc4.9.2                            petsc/3.6.3-intel15.0
 
cairo/1.14.2                                    jasper/1.900.1-intel15.0(default)                  pgi/15.3
 
  cairo/1.14.6-gcc4.9.2(default)                  jdk7/1.7.0_79(default)                            pixman/0.34.0-gcc4.9.2
 
  cairomm/1.12.0-gcc4.9.2                        jdk8/1.8.0_65(default)                            plgrid/apps/abinit/7.10.4--intel13.1   
 
cfour/1.0-gcc5.1.0(default)                    lammps/20141209-intel15.0(default)                plgrid/apps/adf/2014.01(default)
 
  cfx/16.0(default)                              lapack/3.6.0                                      plgrid/apps/amber/14-intel15.0
 
  cfx/16.2                                        lapack/3.6.0-intel15.0                            plgrid/apps/cfour/1.0-gcc5.1.0
 
cgal/4.6.2-gcc4.9.2                            libepoxy/1.3.1-gcc4.9.2                            plgrid/apps/clustal-omega/1.2.1-gcc4.9.2
 
  clustal-omega/1.2.1-gcc4.9.2                    libint/1.1.4-gcc4.9.2                              plgrid/apps/clustalw/2.1-intel15.0
 
  clustalw/2.1-intel15.0                          libint/1.1.4-intel15.0                            plgrid/apps/cpmd/3.15.3--intel15.0
 
cmake/3.2.1(default)                            libint/2.0.3-gcc4.9.2                              plgrid/apps/cpmd/4.1-gcc4.9.2
 
cp2k/2.6.1-gcc4.9.2                            libint/2.0.3-intel15.0                            plgrid/apps/dalton/2015-intel13.1
 
cpmd/3.15.3-intel15.0(default)                  libsigc++/2.6.2-gcc4.9.2                          plgrid/apps/fluent/16.0
 
cpmd/4.1-gcc4.9.2                              libxc/2.2.2-gcc4.9.2                              plgrid/apps/gamess/2014.12.05-R01-intel15.0
 
crystal09/2.0.1-intel13.1(default)              libxc/2.2.2-intel15.0(default)                    plgrid/apps/gaussian/g09.B.01
 
crystal09/2.0.1-intel15.0                      llvm/3.3.0-gcc4.9.2                                plgrid/apps/gaussian
 
dalton/2015-intel13.1                          llvm/3.6.1-gcc4.9.2(default)                      plgrid/apps/gromacs/4.6.7intel15.0
 
dbus/1.10.6-gcc4.9.2                            make/4.1                                          plgrid/apps/gromacs/5.0.4-intel15.0
 
elpa/2013.11.008-gcc4.9.2                      mathematica/10.0                                  plgrid/apps/matlab/R2015a
 
elpa/2015.02.002-gcc4.9.2                      mathematica/10.1(default)                          plgrid/apps/molpro/2012.1.12-intel13.1
 
elpa/2015.02.002-gcc5.1.0                      matlab/R2014b                                      plgrid/apps/mopac/2012
 
fds-smv/6.3.2                                  matlab/R2015a(default)                            plgrid/apps/nwchem/6.5-intel15.0
 
fftw/2.1.5-intel15.0                            mercurial/3.7.1                                    plgrid/apps/r/3.1.3-intel15.0
 
fftw/3.3.4-gcc4.7.4                            mercurial/3.7.1-gcc4.9.2                          plgrid/apps/turbomole/6.6
 
fftw/3.3.4-gcc4.9.2(default)                    mkl/10.3                                          plgrid/tools/intel/15.0
 
fftw/3.3.4-intel15.0                            mkl/13.1                                          plgrid/tools/irods/4.0.3
 
fftw2/2.1.5                                    mkl/15.0(default)                                  plgrid/tools/java7/1.7.0_79
 
fftw3/3.3.4                                    mode/7.5.387                                      plgrid/tools/java8/1.8.0_65
 
fftw-mpi/3.3.4-intel15.0                        mode/7.7.758                                      povray/3.7.0-gcc4.9.2
 
flex/2.5.39(default)                            molcas/7.9-gcc4.7.4(default)                      prace/1.0
 
fluent/16.0(default)                            molcas/8.0-gcc4.7.4                                prcc/15.0
 
fluent/16.2                                    molden/5.2-gcc4.9.2(default)                      prcpp/15.0
 
fontconfig/2.11.94-gcc4.9.2                    molpro/2012.1.12-intel13.1(default)                prftn/15.0
 
freetype/2.6.2-gcc4.9.2                        mopac/2012                                        proj/4.9.1-gcc4.9.2
 
gamess/2014.12.05-R01-intel15.0(default)        mpc/1.0.3-gcc4.9.2                                proj/4.9.1-intel15.0(default)
 
gamess/2014.12.05-R01-intel15.0_camm            mpfr/3.1.3-gcc4.9.2                                psi4/0.3-intel15.0
 
gaussian/g03.E.01                              namd/2.11-intel15.0                                python/2.7.8-gcc4.9.2(default)
 
gaussian/g09.B.01                              namd/2.7-intel15.0                                qd/2.3.17-gcc4.9.2
 
gaussian/g09.D.01                              namd/2.9-intel15.0(default)                        qd/2.3.17-intel15.0
 
gaussian/g09.D.01-justa                        nbo/6.0                                            r/3.1.3-gcc4.9.2
 
gaussian/g09.E.01(default)                      nbo/6.0-g09d01                                    r/3.1.3-intel15.0(default)
 
gcc/4.7.4                                      nbo/6.0-g09e01                                    r/3.2.3-intel15.0
 
gcc/4.9.2(default)                              nbo/current                                        rasdaman/9.0.5-intel15.0(default)
 
gcc/5.1.0                                      ncarg/6.3.0-intel15.0(default)                    scalapack/2.0.2
 
gcc/5.2.0                                      nco/4.4.8-intel15.0(default)                      scalapack/2.0.2-gcc4.9.2
 
gdal/1.11.2-gcc4.9.2                            nco/4.5.2-intel15.0                                scalapack/2.0.2-intel15.0
 
gdal/1.11.2-intel15.0(default)                  netcdf/4.3.2-intel13.1                            siesta/3.2-intel15.0
 
gdk-pixbuf/2.33.2-gcc4.9.2                      netcdf/4.3.3.1                                    spark/1.5.0
 
geos/3.4.2-gcc4.9.2                            netcdf/4.3.3.1-gcc4.9.2                            sparsehash/2.0.2-gcc4.9.2
 
geos/3.4.2-intel15.0(default)                  netcdf/4.3.3.1-intel13.1                          sqlite/3.7.17
 
gettext/0.19.7                                  netcdf/4.3.3.1-intel15.0(default)                  svn/1.9.3
 
git/2.7.1                                      netcdf/4.3.3.1-intel15.0dbg                        szip/2.1-gcc4.9.2
 
glib/2.46.2-gcc4.9.2                            netcdf/4.3.3.1-intel15.0-openmpi1.10.1            szip/2.1-intel13.1
 
gmp/6.0.0-gcc4.9.2                              netcdf-fortran/4.2-intel13.1                      szip/2.1-intel15.0(default)
 
grace/5.99                                      netcdf-fortran/4.4.2-gcc4.9.2                      topmod09-intel15.0
 
grass/6.4.5-intel15.0                          netcdf-fortran/4.4.2-intel13.1                    turbomole/5.10
 
gromacs/4.6.7-intel15.0                        netcdf-fortran/4.4.2-intel15.0(default)            turbomole/6.3
 
gromacs/5.0.4-intel15.0(default)                netcdf-fortran/4.4.2-intel15.0dbg                  turbomole/6.6(default)
 
gromacs/5.1.1-intel15.0                        netcdf-fortran/4.4.2-intel15.0-openmpi1.10.1      turbomole/7.0
 
gtk/3.18.7-gcc4.9.2                            netcdf-python/1.2.1-gcc4.9.2                      udunits/2.2.19-gcc4.9.2
 
harfbuzz/1.1.3-gcc4.9.2                        nwchem/6.5-intel15.0(default)                      udunits/2.2.19-intel13.1
 
hdf/4.2.11-gcc4.9.2                            openbabel/2.3.2-gcc4.9.2                          udunits/2.2.19-intel15.0(default)
 
hdf/4.2.11-intel13.1                            openblas/0.2.14-gcc4.9.2                          vasp/5.4.1-intel15.0(default)
 
hdf/4.2.11-intel15.0(default)                  openblas/0.2.14-gcc5.1.0(default)
 
  
 
* '''module load [nazwa_modułu]''' - ładuje moduł [nazwa_modułu]
 
* '''module load [nazwa_modułu]''' - ładuje moduł [nazwa_modułu]
  $ module load module load intel/12.1
+
 
  binutils/2.25 load complete.
+
  $ module load intel/12.1
  intel/12.1 load complete.
+
binutils/2.25 load complete.
 +
intel/12.1 load complete.
 +
 +
Loading intel/12.1
 +
  Loading requirement: binutils/2.25
 +
 
 
* '''module list''' - wyświetla załadowane moduły
 
* '''module list''' - wyświetla załadowane moduły
 
  $ module list
 
  $ module list
 
  Currently Loaded Modulefiles:
 
  Currently Loaded Modulefiles:
   1) binutils/2.25(default)   2) intel/12.1      
+
   1) binutils/2.25  2) intel/12.1
 +
 +
Key:
 +
auto-loaded  default-version
 +
 +
Key oznacza klucz wg którego rozróżniane są moduły, w powyższym przykładzie moduł binutils jest oznaczony jako moduł "auto-loaded" czyli załadowany jako zależność a moduł intel jest jako "default-version" czyli ten o który docelowo nam chodziło wykonując polecenie `modue load`.
 +
   
 
* '''module rm [nazwa_modułu]''' - usuwa załadowany moduł
 
* '''module rm [nazwa_modułu]''' - usuwa załadowany moduł
 
  $ module rm binutils
 
  $ module rm binutils
Linia 103: Linia 43:
 
   1) intel/12.1       
 
   1) intel/12.1       
 
* '''module purge''' - usuwa wszystkie moduły
 
* '''module purge''' - usuwa wszystkie moduły
 +
 +
=== Nowe moduły [4.7] ===
 +
 +
Nowe moduły zostały wprowadzone jako domyślne w dniu 04.05.2021.
 +
 +
==== Co zmieniają nowe moduły ====
 +
Zmiana z wersji 3.2 (obecna) na 4.7 jest przeskokiem o kilka generacji programu i w związku z tym zmian jest bardzo wiele.
 +
Najbardziej zauważalne z punktu widzenia użytkownika to:
 +
* dużo szybsze działanie programu
 +
* jeżeli wynik polecenia nie mieści się na ekranie terminala jest przekierowywany do pagera (less)
 +
* nowy bardziej szczegółowy help
 +
* program jest bardziej ''gadatliwy'' informuje np. jakie zależności załadował z głównym modułem
 +
* domyślny moduł jest podkreślony (po wywołaniu komendy `module avail`)
 +
* module list pokazuje załadowane zależności w z tłem a moduł docelowy bez
 +
* pokolorowany output
 +
Listę zmian można zobaczyć na stronie:
 +
https://modules.readthedocs.io/en/latest/MIGRATING.html
 +
lub tu: https://github.com/cea-hpc/modules/releases/
 +
==== Nowe argumenty polecenia module ====
 +
{{uwaga2|Zostaną dopisane. Polecamy wykonać `module --help`}}
 +
==== Zaobserowane wady/zalety nowych modułów ====
 +
Brak zgłoszonych uwag.
 +
  
 
[[Kategoria:Podręcznik użytkownika]]
 
[[Kategoria:Podręcznik użytkownika]]

Aktualna wersja na dzień 11:12, 4 maj 2021

< Podręcznik użytkownika KDM < Korzystanie z modułów

Moduły - wersja domyślna

Moduł - moduły pozwalają na łatwą i szybką konfigurację środowiska sesji użytkownika. Każda wersja zainstalowanych na klastrze programów lub bibliotek produkcyjnych posiada własny moduł w formacie nazwa_aplikacji/wersja, np.gaussian/g09.E.01 . Moduły dodają odpowiednie zmienne środowiskowe lub podmieniają ich wartości. Do zmiennych środowiskowych należą standardowe w Linux-ach zmienne PATH oraz LD_LIBRARY_PATH, lecz także te, które są wyjątkowe dla aplikacji działających na klastrze.

Polecenie:

  • module avail - listuje dostępne moduły, polecana metoda do sprawdzenia zasobów oprogramowania
# wylistuj wszystkie dostępne moduly
module avail
# wylistuj dostępne moduły zawężając wyniki do Pythona:
module avail Python
# wylistuj dostępne moduły zawężając wyniki do Pythona ignorując rozmiar znaków:
module avail -i python
  • module load [nazwa_modułu] - ładuje moduł [nazwa_modułu]
$ module load intel/12.1
binutils/2.25 load complete.
intel/12.1 load complete.

Loading intel/12.1
  Loading requirement: binutils/2.25
  • module list - wyświetla załadowane moduły
$ module list
Currently Loaded Modulefiles:
 1) binutils/2.25   2) intel/12.1  

Key:
auto-loaded  default-version 

Key oznacza klucz wg którego rozróżniane są moduły, w powyższym przykładzie moduł binutils jest oznaczony jako moduł "auto-loaded" czyli załadowany jako zależność a moduł intel jest jako "default-version" czyli ten o który docelowo nam chodziło wykonując polecenie `modue load`.

  • module rm [nazwa_modułu] - usuwa załadowany moduł
$ module rm binutils
binutils/2.25 unload complete
$ module list
Currently Loaded Modulefiles:
 1) intel/12.1       
  • module purge - usuwa wszystkie moduły

Nowe moduły [4.7]

Nowe moduły zostały wprowadzone jako domyślne w dniu 04.05.2021.

Co zmieniają nowe moduły

Zmiana z wersji 3.2 (obecna) na 4.7 jest przeskokiem o kilka generacji programu i w związku z tym zmian jest bardzo wiele. Najbardziej zauważalne z punktu widzenia użytkownika to:

  • dużo szybsze działanie programu
  • jeżeli wynik polecenia nie mieści się na ekranie terminala jest przekierowywany do pagera (less)
  • nowy bardziej szczegółowy help
  • program jest bardziej gadatliwy informuje np. jakie zależności załadował z głównym modułem
  • domyślny moduł jest podkreślony (po wywołaniu komendy `module avail`)
  • module list pokazuje załadowane zależności w z tłem a moduł docelowy bez
  • pokolorowany output

Listę zmian można zobaczyć na stronie: https://modules.readthedocs.io/en/latest/MIGRATING.html lub tu: https://github.com/cea-hpc/modules/releases/

Nowe argumenty polecenia module

Zaobserowane wady/zalety nowych modułów

Brak zgłoszonych uwag.