Spack

Standardowo dostępny jest dość okrojony wspólny zakres oprogramowania i zachęcamy użytkowników do korzystania z systemu zarządzania oprogramowaniem Spack.

Instalacja w koncie użytkownika

Aby zainstalować system w swoim koncie należy sklonować repozytorium w wersji 0.21:

git clone -c feature.manyFiles=true https://github.com/spack/spack.git \
  --branch v0.21.2 --depth 1 ~/spack/v0.21.2

Załadowanie systemu do aktualnej sesji możliwe jest przez:

source ~/spack/v0.21.2/share/spack/setup-env.sh
Porada

Dopisanie tej dyrektywy na końcu skryptu ~/.bashrc pozwoli na automatyczne załadowanie systemu przy każdym logowaniu.

Binarne repozytoria

Możliwe jest dodanie binarnego repozytorium, które zawiera najczęściej używane oprogramowanie. Pozwala to pominąć czas potrzebny na kompilację:

spack mirror add v0.21.2 https://binaries.spack.io/v0.21.2

spack buildcache keys --install --trust

Obsługa systemu zarządzania oprogramowaniem

Zachęcamy do zapoznania się z samouczkiem dostępnym na stronie twórców oprogramowania.

Przydatne polecenia dotyczące paczek

  • spack list anaconda3 - wyszukiwanie dostępnych
  • spack info anaconda3 - wyświetlanie informacji
  • spack install anaconda3 - instalacja
  • spack find anaconda3 - wyszukiwanie zainstalowanych
  • spack load anaconda3 - ładowanie
Porada

W celu oszczędzania miejsca prosimy o wykonanie polecenia spack clean --all po dokonaniu zmian w lokalnej instalacji Spack.

Wspólne repozytorium klastra

Aby uniknąć potrzeby wielokrotnej kompilacji najczęściej używanego oprogramowania przez każdego użytkownika w klastrze zostało utworzone wspólne repozytorium, z którego mogą korzystać wszystkie instancje Spack. Obecnie dostępne wspólne repozytoria:

v0.21.2

Automatycznie ładowane jako upstream z katalogu /projects/wmi_spack/v0.21.2/opt/spack/

Zainstalowane pakiety oraz ich zależności:

  • intel-oneapi-mkl - Biblioteka matematyczna Intel oneAPI MKL
  • mathematica@14.0.0 - Wolfram Mathematica 14.0.0 podłączona do wydziałowego serwera licencji
  • r - R oraz zestaw podstawowych pakietów opisanych w dokumentacji

Praca ze współdzielonym repozytorium

Konfiguracja systemowa Spack zawiera informację o wspólnych repozytoriach. Za pomocą komendy spack find --paths można uzyskać informacje lokalizację źródłową zainstalowanych pakietów. Wszystkie pakiety ze ścieżką /projects/wmi_spack są współdzielone.

-- linux-ubuntu22.04-x86_64_v3 / gcc@12.3.0 ---------------------
[...]
mathematica@14.0.0                  /projects/wmi_spack/v0.21.2/opt/spack/linux-ubuntu22.04-x86_64_v3/gcc-12.3.0/mathematica-14.0.0-kbtnokclrwkixavgw3zczfdyvc4bmoed
[...]

Takie pakiety działają jak zainstalowane w lokalnej instancji Spack. Wystarczy je załadować, na przykład:

spack load mathematica

Zgłaszanie oprogramowania

W przypadku potrzeby współdzielenia oprogramowania wśród wielu użytkowników prosimy o zgłoszenie do helpdesku - pozwoli to oszczędzić zasoby oraz skrócić czas potrzebny na kompilację.

Rozproszona kompilacja

Spack umożliwia użycia zasobów klastra do znacznego przyspieszenia kompilacji aplikacji. Uruchomienie rozproszonej kompilacji na 2 węzłach z użyciem 8 CPU w każdym z nich:

srun --nodes 2 --ntasks-per-node 8 spack install r