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

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
(info o %rwf)
Linia 8: Linia 8:
 
'''Uwaga:''' Liczbę procesorów specyfikujemy podając ''%NProcShared=y'' w wejściowym pliku definującym obliczenia oraz podając flagę <tt>-l  nodes=1:ppn=y</tt> dla systemu kolejkowego (<tt>y</tt> - liczba rdzeni obliczeniowych).
 
'''Uwaga:''' Liczbę procesorów specyfikujemy podając ''%NProcShared=y'' w wejściowym pliku definującym obliczenia oraz podając flagę <tt>-l  nodes=1:ppn=y</tt> dla systemu kolejkowego (<tt>y</tt> - liczba rdzeni obliczeniowych).
  
'''Uwaga:''' Moduły [[Gaussian]] ustawiają katalog na pliki tymczasowe poprzez odpowiednie ustawienie zmiennej <tt>GAUSS_SCRDIR</tt>. Zaleca się używanie modułu <tt>scratch</tt> by ustawić katalog na pliki tymczasowe na szybkim systemie plików [[Zeus:Lustre|Lustre]]. Gdy moduł ten nie zostanie załadowany zmienna <tt>GAUSS_SCRDIR</tt> będzie wskazywała na tymczasowy katalog na lokalnym dysku węzła obliczeniowego utworzony dla zadania.
+
'''Uwaga:''' Moduły [[Gaussian]] ustawiają katalog na pliki tymczasowe poprzez odpowiednie ustawienie zmiennej <tt>GAUSS_SCRDIR</tt>. W przypadku gdy obliczenia wymagają dużej przestrzeni dyskowej (większej niż 5GB na rdzen obliczeniowy) zaleca się używanie modułu <tt>scratch</tt> by ustawić katalog na pliki tymczasowe na szybkim systemie plików [[Zeus:Lustre|Lustre]]. Można to zrobić dodając linijkę <tt>module add scratch</tt> do poniższych skryptów. Gdy moduł ten nie zostanie załadowany zmienna <tt>GAUSS_SCRDIR</tt> będzie wskazywała na tymczasowy katalog na lokalnym dysku węzła obliczeniowego utworzony dla zadania. Wielkość plików tymczasowych dla zakończonego zadania znajduje się w przedostatniej linijce pliku z logami (np. "File lengths (MBytes):  RWF=    14 Int=      0 D2E=      0 Chk=      3 Scr=      1"). 
  
 
'''Uwaga:''' Nie należy specyfikować w pliku wejściowym plików RWF poprzez dyrektywę <tt>%rwf</tt>:  
 
'''Uwaga:''' Nie należy specyfikować w pliku wejściowym plików RWF poprzez dyrektywę <tt>%rwf</tt>:  
Linia 40: 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
Linia 75: Linia 72:
 
##### 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
Linia 121: Linia 115:
 
##### 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
Linia 156: Linia 147:
 
##### 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
Linia 202: Linia 190:
 
##### 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
Linia 237: Linia 222:
 
##### 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
 
  
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
 
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules

Wersja z 11:10, 26 kwi 2013

Na klastrze Zeus zainstalowano pakiet Gaussian09 w wersji A.02 i C.01 oraz Gaussian03 w wersji E.01.

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.

Uwaga: Liczbę procesorów specyfikujemy podając %NProcShared=y w wejściowym pliku definującym obliczenia oraz podając flagę -l nodes=1:ppn=y dla systemu kolejkowego (y - liczba rdzeni obliczeniowych).

Uwaga: Moduły Gaussian ustawiają katalog na pliki tymczasowe poprzez odpowiednie ustawienie zmiennej GAUSS_SCRDIR. W przypadku gdy obliczenia wymagają dużej przestrzeni dyskowej (większej niż 5GB na rdzen obliczeniowy) zaleca się używanie modułu scratch by ustawić katalog na pliki tymczasowe na szybkim systemie plików Lustre. Można to zrobić dodając linijkę module add scratch do poniższych skryptów. Gdy moduł ten nie zostanie załadowany zmienna GAUSS_SCRDIR będzie wskazywała na tymczasowy katalog na lokalnym dysku węzła obliczeniowego utworzony dla zadania. Wielkość plików tymczasowych dla zakończonego zadania znajduje się w przedostatniej linijce pliku z logami (np. "File lengths (MBytes): RWF= 14 Int= 0 D2E= 0 Chk= 3 Scr= 1").

Uwaga: Nie należy specyfikować w pliku wejściowym plików RWF poprzez dyrektywę %rwf:

 %rwf=read_write_file.rwf

powoduje to, że plik tymczasowy, w którym Gaussian zapisuje bardzo często dane częściowe potrzebne do obliczeń, zostaje utworzony w katalogu, w którym uruchomiono skrypt PBS. Katalog ten znajduje się zwykle na wolnym zasobie dyskowym, który przez to może być nadmiernie obciążony, a obliczenia będą przeprowadzane o wiele wolniej. Gdy nazwa tego pliku nie zostanie wyspecyfikowana jest on tworzony w katalogu wyspecyfikowanym w zmiennej GAUSS_SCRDIR. Dzieki temu wzrasta wydajność obliczeń. To samo dotyczy ustawiania plików tymczasowych dyrektywami %int=, %d2e. Aby uzyskać dane potrzebne do restartów wystarcza w większości przypadków wyspecyfikowanie pliku "checkpoint" dyrektywą %chk.

G09.C.01

Zmienne środowiskowe ustawiamy ładując moduł gaussian/g09.C.01

 module add gaussian/g09.C.01

Program uruchamiamy poleceniem g09

Przykładowy skrypt

Wersja szeregowa
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=1gb
##### Maksymalnie 1 rdzen na wezle
#PBS -l nodes=1:ppn=1
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
module add gaussian/g09.C.01

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=12gb
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=12
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
module add gaussian/g09.C.01

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR


G09.A.02

Zmienne środowiskowe ustawiamy ładując moduł gaussian/g09.A.02

 module add gaussian/g09.A.02

Program uruchamiamy poleceniem g09

Przykładowy skrypt

Wersja szeregowa
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=1gb
##### Maksymalnie 1 rdzen na wezle
#PBS -l nodes=1:ppn=1
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
module add gaussian/g09.A.02

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=12gb
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=12
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
module add gaussian/g09.A.02

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR


G03.E.01

Zmienne środowiskowe ustawiamy ładując moduł gaussian/g03.E.01

 module add gaussian/g03.E.01

Program uruchamiamy poleceniem g03

Przykładowy skrypt

Wersja szeregowa
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=1gb
##### Maksymalnie 1 rdzen na wezle
#PBS -l nodes=1:ppn=1
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
module add gaussian/g03.E.01

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona dla zadania
#PBS -l mem=12gb
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=12
##### 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

# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
module add gaussian/g03.E.01

# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $GAUSS_SCRDIR

# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
cd $PBS_O_WORKDIR

# uruchomienie zadania
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $GAUSS_SCRDIR