Modules/Lmod: Różnice pomiędzy wersjami

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
(aktualziacja opisu. Dodanie nowych opcji)
m (Noga przeniósł stronę Modules do Modules/Lmod: Zmiana nazwy)
(Brak różnic)

Wersja z 13:44, 23 sty 2017

Opis pakietu

Pakiet 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 plgrid/nazwa-programu/wersja. W przypadku bibliotek schemat ma postać plgrid/libs/nazwa-biblioteki/wersja, a dla programów narzędziowych (np. języki oprogramowania R lub Python) plgrid/tools/nazwa-biblioteki/wersja. Zarówno dla pakietów oprogramowania jak i bibliotek najnowsza wersja jest domyślną, zatem ostatni człon wersja można pominąć. Zmian dokonuje się za pomocą komendy module i parametru określającego akcję.

Najczęściej wykorzystywane opcje:

  • module add <moduł> lub module load <moduł> - załadowanie modułu danego programu
  • module rm <moduł> lub module unload <moduł> - usunięcie modułu danego programu
  • module swap <moduł-1> <moduł-2> - wymiana modułów w powłoce


  • module avail - wyświetla listę wszystkich dostępnych modułów
  • module avail <nazwa> - wyświetla listę wszystkich dostępnych wersji oprogramowania o nazwie nazwa
  • module spider <tekst> - wyszukuje wszystkie moduły posiadające w nazwie określony tekst
  • module keyword <tekst> - wyszukuje wszystkie moduły posiadające w nazwie i opisie określony tekst


  • module list - wyświetlenie listy aktualnie załadowanych modułów
  • module purge - usunięcie wszystkich załadowanych modułów


  • module show <moduł> - wyświetla komendy wykonywane przez dany moduł
  • module whatis <moduł> - wyświetl informacje nt. danego modułu


  • module save [kolekcja] - zapisuje załadowane moduły do kolecji domyślnej lub kolekcji o nazwie kolekcja
  • module restore [kolekcja] - ładuje moduły z kolecji domyślnej lub kolekcji o nazwie kolekcja
  • module savelist - wyświetla liste zapisanych kolekcji modułów
  • module describe [kolekcja] - wyświetla zawartość danej kolecji modułów
  • module use /path/to/personal/modulefiles - dołącza moduły z katalogu /path/to/personal/modulefiles do ścieżki wyszukiwania modułów


  • module help - zwraca obszerną pomoc komendy module i jej podkomend

Przykładowe użycie

  • Załadowanie najnowszej wersji kompilatora Intel
module add plgrid/tools/intel
  • Załadowanie kompilatora Intel w wersji 17.0.1
module add plgrid/tools/intel/17.0.1
  • Wylistowanie wszystkich dostępnych wersji kompilatorów Intel
module avail plgrid/tools/intel
  • Wylistowanie wszystkich modułów dla blibliotek MPI na klastrze
module avail mpi

lub

module spider mpi
  • Zamiana wersji 5.1.3 IntelMPI na wersję 2017.1
module swap plgrid/tools/impi/5.1.3 plgrid/tools/impi/2017.1
  • Usunięcie ścieżek do kompilatora Intel w wersji 17.0.1 z środowiska
module rm plgrid/tools/intel/17.0.1

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.
  • Gdy istnieje potrzeba załadowania wiele razy (np. w wielu zadaniach obliczeniowych) takich samych list modułów mozna stworzyc kolekcje poleceniem module save [kolekcja] i następnie ich ładowanie poleceniem module restore [kolekcja].
  • Moduł może ładować moduły zależne, zatem jedno polecenie module add <nazwa> może załadować wiele modułów.
  • Komenda module ma skróconą wersję ml. Również niektóre podkomendy mają skrócone wersje
    • ml jest równoważna module list
    • ml <nazwa> jest równoważna module add <nazwa>
    • ml -<nazwa> jest równoważna module rm <nazwa>
    • ml av jest równoważna module avail
    • ml s jest równoważna module save
    • ml r jest równoważna module restore

Wykorzystanie własnych modułów (Zaawansowane)

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 własne moduły. Program lmod automatycznie sprawdzi nowe zainstalowane moduły i doda je do listy dostępnych. W modułach można wykorzystywać funkcje języków TCL lub Lua.

Informacje jak tworzyć własne moduły znajdują się w dokumentacji Lmod: moduły użytkownika oraz tworzenie nowych modułów.

Odnosniki

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/