You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Podstawowe informacje

  • Mechanizm Modules umożliwia łatwą i dynamiczną modyfikację zmiennych powłoki (ścieżki wyszukiwania aplikacji itp.) dostosowując ją do specyficznych wymagań danego pakietu oprogramowania.
  • Dla każdego z pakietów oprogramowania dostępnego w Infrastrukturze PLGrid zdefiniowano odpowiadający mu moduł (lub moduły, jeśli istnieje więcej niż jedna wersja danego pakietu).

Zalecamy wykorzystanie Katalogu Aplikacji i Usług do wyszukiwania dostępnego w PLGrid oprogramowania oraz modułów.

Komenda module

Dla komendy module należy podać parametr określający akcję. Najczęściej wykorzystywane opcje to:

  • 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 list – wyświetlenie listy aktualnie załadowanych modułów
  • module avail – wyświetla listę wszystkich dostępnych modułów
  • module avail <nazwa> – wyświetla listę wszystkich dostępnych wersji oprogramowania o nazwie rozpoczynającej się od <nazwa>
  • module purge – usunięcie wszystkich załadowanych modułów
  • module show <moduł> lub module display <moduł> – wyświetl informacje nt. danego modułu
  • module switch <moduł-1> <moduł-2> – wymiana modułów w powłoce

Schemat nazw modułów

Nazwy modułów dla aplikacji naukowych budowane są według schematu plgrid/apps/nazwa-programu/wersja.

W przypadku bibliotek schemat ma postać plgrid/libs/nazwa-biblioteki/wersja, a dla programów narzędziowych (np. język oprogramowania Python) plgrid/tools/nazwa-narzedzia/wersja.

Zarówno dla pakietów oprogramowania jak i bibliotek przygotowano wersję też domyślną i przy jej ładowaniu ostatni człon modułu (tj. wersję) można pominąć.

Przykładowe użycie


  • Załadowanie domyślnej wersji kompilatora Intel

    module add plgrid/tools/intel
  • Załadowanie kompilatora Intel w wersji 13.0

    module add plgrid/tools/intel/13.0
  • Spis wszystkich dostępnych wersji kompilatorów Intel

    module avail plgrid/tools/intel
  • Zamiana wersji Matlab z wersji R2012b na R2013b

    module switch plgrid/apps/matlab/R2012b plgrid/apps/matlab/R2013b 
  • Usunięcie ścieżek do kompilatora Intel w wersji 13.0 z środowiska

    module rm plgrid/tools/intel/13.0
  • Przykładowy skrypt PBS wykorzystujący polecenie Module do załadowania programu Matlab w domyślnej wersji i wykonania obliczeń zawartych w pliku matlab.m (skrypt to matlab.pbs)

    #!/bin/sh
    #przykladowe opcje dla polecenia qsub
    #PBS -l walltime=5:00
    #PBS -l mem=1gb
    #PBS -q plgrid-testing
     
    #przejdz do katalogu na pliki tymczasowe zadania
    cd $TMPDIR
    
    #ustaw srodowisko uruchomieniowe dla Matlab w wersji domyslnej
    module add plgrid/apps/matlab
     
    #uruchom program
    matlab < $PBS_O_WORKDIR/matlab.m > $PBS_O_WORKDIR/matlab.out
    
    #skasuj katalog tymczasowy:
    rm -rf $TMPDIR

Strona pakietu Modules: http://modules.sourceforge.net/
Dokumentacja pakietu Modules: http://modules.sourceforge.net/man/modulefile.html
Dokumentacja pakietu Lmod wykorzystywanego na klastrze Prometheus: http://lmod.readthedocs.io oraz https://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide

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.

  • Komenda module avail <nazwa> znajduje jedynie moduły zaczynające się od ciągu znaków <nazwa> dlatego, jeżeli poszukuje się modułów zawierających gdziekolwiek ciąg <nazwa> należy wykonać polecenie

    module avail 2>&1 | grep nazwa

Wykorzystanie własnych modułów (Zaawansowane) 

System Modules umożliwia również tworzenie własnych modułów. W tym celu należy załadować moduł use.own. Przy pierwszym załadowaniu modułu use.own zostanie założona w katalogu domowym użytkownika kartoteka privatemodules. W niej należy umieszczać własne moduły. Program modules automatycznie sprawdzi nowe zainstalowane moduły i doda je do listy dostępnych. W modułach można wykorzystywać funkcje języka Tcl. Informacje jak tworzyć własne moduły znajdują się na stronie pakietu Modules.

  • No labels