ADF
Na klastrze Zeus zainstalowano pakiet ADF w wersjach 2010.02, 2012.01, 2012.01c oraz 2013.01.
Spis treści
Informacje ogólne
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie 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 2013.01.
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.
2010.02
Zmienne środowiskowe ustawia się ładując moduł apps/adf/2010.02
module add apps/adf/2010.02
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
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=1
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
module add apps/adf/2010.02
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
#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 4 węzłach i na każdym węźle będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12
##### ##### Maksymalna pamiec przydzielona na jeden proces! Czyli sumarycznie 2GB*4*2=16GB na zadanie!
#PBS -l pmem=2gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
module add apps/adf/2010.02
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
# zliczenie wykorzystywanych procesorow
np=$PBS_NP
#uruchomienie programu
adf -n $np < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR
2012.01
Zmienne środowiskowe ustawia się ładując moduł adf/2012.01 lub adf
module add apps/adf/2012.01
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
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=1
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
module add apps/adf/2012.01
# ustawienie katalogu na pliki tymczasowe
export SCM_TMPDIR=$TMPDIR
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
#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 4 węzłach i na każdym węźle będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12
##### ##### Maksymalna pamiec przydzielona na jeden proces! Czyli sumarycznie 2GB*4*12=96GB na zadanie!
#PBS -l pmem=2gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
module add apps/adf/2012.01
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
# zliczenie wykorzystywanych procesorow
np=$PBS_NP
#uruchomienie programu
adf -n $np < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR
2012.01c
Zmienne środowiskowe ustawia się ładując moduł apps/adf/2012.01c
module add apps/adf/2012.01c
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
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=1
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
module add apps/adf/2012.01c
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
#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 4 węzłach i na każdym węźle będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12
##### ##### Maksymalna pamiec przydzielona na jeden proces! Czyli sumarycznie 2GB*4*12=96GB na zadanie!
#PBS -l pmem=2gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
module add apps/adf/2012.01c
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
# zliczenie wykorzystywanych procesorow
np=$PBS_NP
#uruchomienie programu
adf -n $np < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR
2013.01
Zmienne środowiskowe ustawia się ładując moduł apps/adf/2013.01
module add apps/adf/2013.01
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
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=1
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2013.01
module add apps/adf/2013.01
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
#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 4 węzłach i na każdym węźle będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12
##### ##### Maksymalna pamiec przydzielona na jeden proces! Czyli sumarycznie 2GB*4*12=96GB na zadanie!
#PBS -l pmem=2gb
##### Maksymalny czas obliczen 1 godzina
#PBS -l walltime=1:00:00
##### Nazwa kolejki
#PBS -q l_short
##### Nazwa zadania widoczna w systemie kolejkowym
#PBS -N nazwa_obliczen
##### Nazwa grantu uzytego do obliczen
#PBS -A nazwa_grantu
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu ADF w wersji 2013.01
module add apps/adf/2013.01
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $SCM_TMPDIR
# przejscie do katalogu, z ktorego wywolano skrypt PBS (w ktorym znajduja sie pliki wejsciowe)
cd $PBS_O_WORKDIR
# zliczenie wykorzystywanych procesorow
np=$PBS_NP
#uruchomienie programu
adf -n $np < input.in >& output.log
#usuwanie katalogu z plikami tymczasowymi
rm -f $SCM_TMPDIR