ADF
Na klastrze Prometheus zainstalowano pakiet ADF w wersjach 2014.05 oraz 2014.07.
Spis treści
Informacje ogólne
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Prometheus służy narzędzie Prometheus:Modules. Dla oprogramowania ADF przygotowano moduły apps/adf/<nazwa-wersji>, przy czym moduł apps/adf jest odnośnikiem dla wersji domyślnej. Do załadowania domyślnej wersji pakietu służy komenda:
module add apps/adf
Domyślna wersja to 2014.07.
Pliki tymczasowe należy tworzyć używając zasobu dyskowego Lustre.
Program obliczeniowy uruchamiany jest poleceniem adf.
Dodatkowo pakiet ADF zawiera wiele programów pomocniczych umożliwiających m.in. podgląd obliczeń w trakcie ich trwania, analizę oraz wizualizację wyników. Programy te uruchamiane są poleceniami: adfcrs, adf2aim, adfdos, adfinput, adflevels, adfmovie, adfnbo, adfoutput, adfprep, adfreport, adfspectra, adftail, adfview.
Uwaga: Moduły ADF ustawiają katalog na pliki tymczasowe poprzez odpowiednie ustawienie zmiennej SCM_TMPDIR. Zaleca się używanie modułu tools/scratch by ustawić katalog na pliki tymczasowe na szybkim systemie plików Lustre. W przypadku wykorzystywania więcej niż jednego węzła obliczeniowego przechowywanie plików tymczasowych w systemie Lustre jest konieczne ponieważ katalog je zawierający musi być dostępny z wszystkich węzłów.
2014.07
Zmienne środowiskowe ustawia się ładując moduł apps/adf/2014.07
module add apps/adf/2014.07
Przykładowy skrypt
Obliczenia szeregowe
Zadanie ADF będzie się wykonywać na jednym węźle i będzie wykorzystywało 1 procesor.
#!/bin/env bash
##### Nazwa zadania
#SBATCH -J adf
##### Ilosc wezlow
#SBATCH -N 1
##### ilosc procesorow na wezel
#SBATCH --ntasks-per-node 1
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
module add apps/adf/2014.05
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt SLURM (w ktorym znajduja sie pliki wejsciowe)
cd $SLURM_SUBMIT_DIR
#uruchomienie programu
adf < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR
Oblicznia zrównoleglone
Zadanie ADF będzie się wykonywać na 5 węzłach i na każdym węźle będzie wykorzystywało 24 rdzeni.
#!/bin/env bash
##### Nazwa zadania
#SBATCH -J adf
##### Ilosc wezlow
#SBATCH -N 5
##### ilosc procesorow na wezel
#SBATCH --ntasks-per-node 24
# Ustawienie szybkiego dysku do obliczen
module add tools/scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2014.07
module add apps/adf/2014.07
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt SLURM (w ktorym znajduja sie pliki wejsciowe)
cd $SLURM_SUBMIT_DIR
# zliczenie wykorzystywanych procesorow
np=$SLURM_NPROCS
#uruchomienie programu
adf -n $np < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR