Gaussian
Na klastrze Zeus zainstalowano pakiet Gaussian09 w wersji A.02, B.01, C.01 i D.01 oraz Gaussian03 w wersji E.01.
Informacje ogólne
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie Modules. Dla oprogramowania Gaussian przygotowano moduły apps/gaussian/<nazwa-wersji>, przy czym moduł apps/gaussian jest odnośnikiem dla wersji domyślnej. Do załadowania domyślnej wersji pakietu służy komenda:
module add apps/gaussian
Domyślna wersja to D.01.
Program uruchamiamy poleceniem g09
- 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. Więcej informacji o restartach zadań mozna znaleźć w dokumentacji producenta.
- Uwaga: Użytkownicy spoza infrastruktury PL-Grid by korzystać z oprogramowania Gaussian muszą zostać dodani do odpowiedniej grupy użytkowników. W tym celu należy skontaktować się z administratorami klastra Zeus.
G09.D.01
Zmienne środowiskowe ustawiamy ładując moduł apps/gaussian/g09.D.01
module add apps/gaussian/g09.D.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 D.01 przy uzyciu Modules
module add apps/gaussian/g09.D.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 D.01 przy uzyciu Modules
module add apps/gaussian/g09.D.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.C.01
Zmienne środowiskowe ustawiamy ładując moduł apps/gaussian/g09.C.01
module add apps/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 apps/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 apps/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.B.01
Zmienne środowiskowe ustawiamy ładując moduł apps/gaussian/g09.V.01
module add apps/gaussian/g09.B.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 B.01 przy uzyciu Modules
module add apps/gaussian/g09.B.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 B.01 przy uzyciu Modules
module add apps/gaussian/g09.B.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ł apps/gaussian/g09.A.02
module add apps/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 apps/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 apps/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ł apps/gaussian/g03.E.01
module add apps/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 apps/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 apps/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