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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
 
(Nie pokazano 30 wersji utworzonych przez 9 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ł''' - skrypt npisany w [http://en.wikipedia.org/wiki/Tcl TCL-u] służący do konfiguracji środowiska aplikacyjnego.
+
'''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.  
Najczęście podmienia wpisy w zmienej '''PATH''' i ścieżki do bibliotek współdzielonych w zmiennej '''LD_LIBRARY_PATH''' oraz zmienne środowiskowe specyficzne dla aplikacji (ustawia ścieżkę do scratch-a, do katalogu domowego aplikacji itd.).
 
  
=== Wywołanie modułów ===
+
{{uwaga2|Z mechanizmu należy korzystać na ui.wcss.pl lub węzłach roboczych - w zadaniach (czy to wsadowych czy interaktywnych).}}
W katalogu /usr/local/Modules/3.2.7/init/ znajdują się skrypty wywołujące moduły zależne od rodzaju powłok. Na klastrze [[NOVA]] domyślną powłoką jest bash, więc
 
. /usr/local/Modules/3.2.7/init/bash
 
uruchamia środowisko, w którym można korzystać z modułów.
 
  
 
'''Polecenie''':
 
'''Polecenie''':
*'''module avail''' - listuje dostępne moduły
+
*'''module avail''' - listuje dostępne moduły, polecana metoda do sprawdzenia zasobów oprogramowania
  ---------- /usr/local/Modules/versions ------
+
  # wylistuj wszystkie dostępne moduly
  3.2.7
+
  module avail
---------- /usr/local/Modules/3.2.7/modulefiles --------
+
 
  cpmd/3.13.2              gaussian/g09.A.02        module-cvs              mvapich2/intel/1.0.3
+
  # wylistuj dostępne moduły zawężając wyniki do Pythona:
  cpmd/current            gaussian/g09.B.01        module-info              mvapich2/intel/1.5
+
  module avail Python
dalton/2.0              gcc/4.5.1                modules                  mvapich2/intel/current
+
 
  dalton/current          gromacs/4.0.7-d          molpro/2006.1            namd/2.7b1
+
  # wylistuj dostępne moduły zawężając wyniki do Pythona ignorując rozmiar znaków:
  dot                      gromacs/4.0.7-s          molpro/2009.1            null
+
  module avail -i python
fluent/12.1              gromacs/4.5.1-d          molpro/current          nwchem/5.1
+
 
fluent/current          gromacs/4.5.1-s          mpich2                  nwchem/current
 
gamess/2007.R6          gromacs/current          mvapich                  pgi/11.5
 
gamess/2009.R1          intel/10.1              mvapich2/current/1.0.3  pgi/current
 
gamess/2010.10.01-R1    intel/11.1              mvapich2/current/1.5    turbomole/6.0.2
 
gamess/current          intel/current            mvapich2/current/current turbomole/6.0.3
 
gaussian/current        matlab/R2010b_pwr        mvapich2/gcc/1.0.3      turbomole/current
 
gaussian/g03.D.01        mkl/10.0.1.014          mvapich2/gcc/1.5        use.own
 
gaussian/g03.E.01        mkl/10.1.1.019          mvapich2/gcc/current
 
 
* '''module load [nazwa_modułu]''' - ładuje moduł [nazwa_modułu]
 
* '''module load [nazwa_modułu]''' - ładuje moduł [nazwa_modułu]
  $ module load intel/11.1
+
 
  intel/11.1 load complete.
+
  $ 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''' - wyświetla załadowane moduły
 
  $ module list
 
  $ module list
 
  Currently Loaded Modulefiles:
 
  Currently Loaded Modulefiles:
   1) dot              2) intel/11.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 dot
+
  $ module rm binutils
 +
binutils/2.25 unload complete
 
  $ module list
 
  $ module list
 
  Currently Loaded Modulefiles:
 
  Currently Loaded Modulefiles:
   1) intel/11.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]]

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.