Gaussian
Na klastrze Zeus zainstalowano pakiet Gaussian09 w wersji A.02 i C.01 oraz Gaussian03 w wersji E.01.
Spis treści
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