Zeus:ADF: Różnice pomiędzy wersjami

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
Linia 13: Linia 13:
  
 
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: <tt>adfcrs</tt>, <tt>adf2aim</tt>, <tt>adfdos</tt>, <tt>adfinput</tt>, <tt>adflevels</tt>, <tt>adfmovie</tt>, <tt>adfnbo</tt>, <tt>adfoutput</tt>, <tt>adfprep</tt>, <tt>adfreport</tt>, <tt>adfspectra</tt>, <tt>adftail</tt>, <tt>adfview</tt>.
 
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: <tt>adfcrs</tt>, <tt>adf2aim</tt>, <tt>adfdos</tt>, <tt>adfinput</tt>, <tt>adflevels</tt>, <tt>adfmovie</tt>, <tt>adfnbo</tt>, <tt>adfoutput</tt>, <tt>adfprep</tt>, <tt>adfreport</tt>, <tt>adfspectra</tt>, <tt>adftail</tt>, <tt>adfview</tt>.
 +
 +
'''Uwaga:''' Moduły [[ADF]] ustawiają katalog na pliki tymczasowe poprzez odpowiednie ustawienie zmiennej <tt>SCM_TMPDIR</tt>. Zaleca się używanie modułu <tt>scratch</tt> by ustawić katalog na pliki tymczasowe na szybkim systemie plików [[Zeus:Lustre|Lustre]]. W przypadku wykorzystywania więcej niż jednego węzła obliczeniowego przechowywanie plików tymczasowych w systemie [[Zeus:Lustre|Lustre]] jest konieczne ponieważ katalog je zawierający musi być dostępny z wszystkich węzłów. 
  
 
=2010.02=
 
=2010.02=
Linia 38: Linia 40:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
 
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
 
module add adf/2010.02
 
module add adf/2010.02
  
# ustawienie katalogu na pliki tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
export SCM_TMPDIR=$TMPDIR
 
 
echo "Temporary files stored in" $SCM_TMPDIR
 
echo "Temporary files stored in" $SCM_TMPDIR
  
Linia 51: Linia 55:
 
#uruchomienie programu
 
#uruchomienie programu
 
adf < input.in  >& output.log  
 
adf < input.in  >& output.log  
 +
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
  
 
</syntaxhighlight>
 
</syntaxhighlight>
Linia 73: Linia 80:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
 
# ustawienie srodowiska dla pakietu ADF w wersji 2010.02
 
module add adf/2010.02
 
module add adf/2010.02
  
# ustawienie katalogu na pliki tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
module add scratch
 
export SCM_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
mkdir -p  $SCM_TMPDIR
 
 
echo "Temporary files stored in" $SCM_TMPDIR
 
echo "Temporary files stored in" $SCM_TMPDIR
  
Linia 92: Linia 99:
 
adf -n $np < input.in  >& output.log  
 
adf -n $np < input.in  >& output.log  
  
 +
#uruchomienie programu
 +
adf < input.in  >& output.log
 +
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 120: Linia 132:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
Linia 134: Linia 149:
 
adf < input.in  >& output.log  
 
adf < input.in  >& output.log  
  
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 155: Linia 172:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01
 
module add adf/2012.01
 
module add adf/2012.01
  
# ustawienie katalogu na pliki tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
module add scratch
 
export SCM_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
mkdir -p  $SCM_TMPDIR
 
 
echo "Temporary files stored in" $SCM_TMPDIR
 
echo "Temporary files stored in" $SCM_TMPDIR
  
Linia 174: Linia 191:
 
adf -n $np < input.in  >& output.log  
 
adf -n $np < input.in  >& output.log  
  
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 200: Linia 219:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
 
module add adf/2012.01c
 
module add adf/2012.01c
  
# ustawienie katalogu na pliki tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
export SCM_TMPDIR=$TMPDIR
 
 
echo "Temporary files stored in" $SCM_TMPDIR
 
echo "Temporary files stored in" $SCM_TMPDIR
  
Linia 212: Linia 233:
  
 
#uruchomienie programu
 
#uruchomienie programu
adf < input.in  >& output.log  
+
adf < input.in  >& output.log
  
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 235: Linia 258:
 
##### Nazwa grantu uzytego do obliczen
 
##### Nazwa grantu uzytego do obliczen
 
#PBS -A nazwa_grantu
 
#PBS -A nazwa_grantu
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
  
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
 
# ustawienie srodowiska dla pakietu ADF w wersji 2012.01c
 
module add adf/2012.01c
 
module add adf/2012.01c
  
# ustawienie katalogu na pliki tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
module add scratch
 
export SCM_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
mkdir -p  $SCM_TMPDIR
 
 
echo "Temporary files stored in" $SCM_TMPDIR
 
echo "Temporary files stored in" $SCM_TMPDIR
  
Linia 254: Linia 277:
 
adf -n $np < input.in  >& output.log  
 
adf -n $np < input.in  >& output.log  
  
 +
#usuwanie katalogu z plikami tymczasowymi
 +
rm -f $SCM_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>

Wersja z 13:50, 16 lis 2012

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

Informacje ogólne

Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie Modules. Pliki tymczasowe należy tworzyć używająć zasobu dyskowego Lustre. Do załadowania domyślnej wersji pakietu służy komenda:

 module add adf

Domyślna wersja to 2012.01.

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 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ł adf/2010.02

 module add 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 jeden rdzen! Czyli sumarycznie 1GB*1*4=4GB na zadanie!
#PBS -l pvmem=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 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 2 procesory.

#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=2
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 3GB*4*2=24GB na zadanie!
#PBS -l pvmem=3gb
##### 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 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 

#uruchomienie programu
adf < 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 adf/2012.01

lub

 module add adf

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 jeden rdzen! Czyli sumarycznie 1GB*1*4=4GB na zadanie!
#PBS -l pvmem=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 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 2 procesory.

#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=2
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 3GB*4*2=24GB na zadanie!
#PBS -l pvmem=3gb
##### 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 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ł adf/2012.01c

 module add 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 jeden rdzen! Czyli sumarycznie 1GB*1*4=4GB na zadanie!
#PBS -l pvmem=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 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 2 procesory.

#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=2
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 3GB*4*2=24GB na zadanie!
#PBS -l pvmem=3gb
##### 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 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