|
|
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.
| |