Prometheus:Lmod: Różnice pomiędzy wersjami

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
(Ujednolicenie instrukcji)
 
Linia 1: Linia 1:
==Opis pakietu==
+
#REDIRECT [[Modules/Lmod]]
 
 
Pakiet [https://www.tacc.utexas.edu/research-development/tacc-projects/lmod Lmod] umożliwia łatwą i dynamiczną modyfikację zmiennych powłoki dostosowując ją do specyficznych wymagań danego pakietu oprogramowania. Dla każdego z pakietów oprogramowania dostępnego na klastrze zdefiniowano odpowiadający mu moduł (lub moduły, jeśli istnieje więcej niż jedna wersja danego pakietu). Nazwy modułów budowane są wg schematu <tt>nazwa-programu/wersja</tt>. W przypadku bibliotek schemat ma postać <tt>libs/nazwa-biblioteki/wersja</tt>, a dla programów narzędziowych (np. języki oprogramowania R lub Python) <tt>tools/nazwa-biblioteki/wersja</tt>. Zarówno dla pakietów oprogramowania jak i bibliotek najnowsza wersja jest domyślną, zatem ostatni człon <tt>wersja</tt> można pominąć. Zmian dokonuje się za pomocą komendy <tt>module</tt> i parametru określającego akcję.
 
 
 
Strona projektu: https://www.tacc.utexas.edu/research-development/tacc-projects/lmod
 
 
 
Dokumentacja projektu: https://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide oraz http://lmod.readthedocs.io/
 
 
 
===Najczęściej wykorzystywane opcje:===
 
 
 
* <tt>module add <moduł></tt> lub <tt>module load <moduł></tt> – załadowanie modułu danego programu
 
* <tt>module rm <moduł></tt> lub <tt>module unload <moduł></tt> – usunięcie modułu danego programu
 
* <tt>module list</tt> – wyświetlenie listy aktualnie załadowanych modułów
 
* <tt>module avail</tt> – wyświetla listę wszystkich dostępnych modułów
 
* <tt>module avail <nazwa_oprogramowania></tt> – wyświetla listę wszystkich dostępnych wersji oprogramowania o nazwie <tt>nazwa_oprogramowania</tt>
 
* <tt>module purge</tt> – usunięcie wszystkich załadowanych modułów
 
* <tt>module show <moduł></tt> lub <tt>module display <moduł></tt> – wyświetl informacje nt. danego modułu
 
* <tt>module switch <moduł-1> <moduł-2></tt> – wymiana modułów w powłoce
 
* <tt>module spider <tekst> </tt> – wyszukuje wszystkie moduły posiadające w nazwie określony tekst
 
 
 
===Przykładowe użycie===
 
* Załadowanie najnowszej wersji kompilatora Intel
 
<pre>
 
module add compilers/intel
 
</pre>
 
* Załadowanie kompilatora Intel w wersji 15.0.2
 
<pre>
 
module add compilers/intel/15.0.2
 
</pre>
 
* Wylistowanie wszystkich dostępnych wersji kompilatorów Intel
 
<pre>
 
module avail compilers/intel
 
</pre>
 
* Zamiana wersji 1.6.5 OpenMPI na wersję 1.8.4
 
<pre>
 
module switch tools/openmpi/1.6.5-intel-15.0.2 tools/openmpi/1.8.4-intel-15.0.2
 
</pre>
 
* Usunięcie ścieżek do kompilatora Intel w wersji 15.0.2 z środowiska
 
<pre>
 
module rm compilers/intel/15.0.2
 
</pre>
 
 
 
===Wykorzystanie własnych modułów (Zaawansowane) ===
 
Pakiet Lmod umożliwia również tworzenie własnych modułów ([https://pl.wikipedia.org/wiki/Tcl_(język_programowania) TCL] lub [https://pl.wikipedia.org/wiki/Lua Lua]). W tym celu należy wykonać polecenie <tt>module use /path/to/personal/modulefiles</tt>. Podana ścieżka określa katalog w którym użytkownik przetrzymuje własne moduły. Program <tt>lmod</tt> automatycznie sprawdzi nowe zainstalowane moduły i doda je do listy dostępnych. W modułach można wykorzystywać funkcje języków [https://pl.wikipedia.org/wiki/Tcl_(język_programowania) TCL]  lub [https://pl.wikipedia.org/wiki/Lua Lua]. Informacje jak tworzyć własne moduły znajdują się na w [http://lmod.readthedocs.io/en/latest/020_advanced.html#user-created-modules dokumentacji Lmod].
 
 
 
===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.
 

Aktualna wersja na dzień 13:49, 23 sty 2017

Przekierowanie do: