Gaussian

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Wersja z dnia 13:01, 28 gru 2012 autorstwa Noga (dyskusja | edycje) (info o %rwf)
Skocz do:nawigacja, szukaj

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. Zaleca się używanie modułu scratch by ustawić katalog na pliki tymczasowe na szybkim systemie plików Lustre. 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.

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# 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