ADF

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj

Na klastrze Zeus zainstalowano pakiet ADF w wersjach 2010.02, 2012.01, 2012.01c oraz 2013.01.

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 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 tools/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 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 tools/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 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 tools/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 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 tools/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