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

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
 
(Nie pokazano 21 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
 
{{DISPLAYTITLE:Gaussian}}
 
{{DISPLAYTITLE:Gaussian}}
Na klastrze [[Zeus]] zainstalowano pakiet Gaussian09 w wersji A.02 oraz Gaussian03 w wersji E.01.
+
Na klastrze [[Zeus]] zainstalowano pakiet [[Gaussian|Gaussian09]] w wersji [[#G09.A.02|A.02]], [[#G09.B.01|B.01]], [[#G09.C.01|C.01]] i [[#G09.D.01|D.01]] oraz [[Gaussian|Gaussian03]] w wersji [[#G09.E.01|E.01]].
  
 
= Informacje ogólne =
 
= 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 [[Zeus:Lustre|Lustre]].
+
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze [[Zeus]] służy narzędzie [[Modules]]. Dla oprogramowania [[Gaussian]] przygotowano moduły <tt>apps/gaussian/<nazwa-wersji></tt>, przy czym moduł <tt>apps/gaussian</tt> jest odnośnikiem dla wersji domyślnej. Do załadowania domyślnej wersji pakietu służy komenda:
  
'''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).
+
  <code>module add apps/gaussian</code>
 +
 
 +
Domyślna wersja to '''D.01'''.
 +
 
 +
Program uruchamiamy poleceniem <tt>g09</tt>
 +
 
 +
*'''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>. 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>:
 +
<code>%rwf=read_write_file.rwf</code>
 +
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 <tt>GAUSS_SCRDIR</tt>. Dzieki temu wzrasta wydajność obliczeń. To samo dotyczy ustawiania plików tymczasowych dyrektywami <tt>%int=</tt>, <tt>%d2e</tt>. Aby uzyskać dane potrzebne do restartów wystarcza w większości przypadków wyspecyfikowanie pliku "checkpoint" dyrektywą <tt>%chk</tt>. Więcej informacji o restartach zadań mozna znaleźć w [http://gaussian.com/g_tech/g_ur/k_restart.htm 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ł <tt>apps/gaussian/g09.D.01</tt>
 +
 
 +
  <code>module add apps/gaussian/g09.D.01</code>
 +
 
 +
Program uruchamiamy poleceniem <tt>g09</tt>
 +
 
 +
==== Przykładowy skrypt ====
 +
===== Wersja szeregowa =====
 +
 
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
 +
 
 +
===== Wersja równoległa ze współdzieloną pamięcią=====
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
 +
 
 +
=G09.C.01=
 +
Zmienne środowiskowe ustawiamy ładując moduł <tt>apps/gaussian/g09.C.01</tt>
 +
 
 +
  <code>module add apps/gaussian/g09.C.01</code>
 +
 
 +
Program uruchamiamy poleceniem <tt>g09</tt>
 +
 
 +
==== Przykładowy skrypt ====
 +
===== Wersja szeregowa =====
 +
 
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
 +
 
 +
===== Wersja równoległa ze współdzieloną pamięcią=====
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
 +
 
 +
=G09.B.01=
 +
Zmienne środowiskowe ustawiamy ładując moduł <tt>apps/gaussian/g09.V.01</tt>
 +
 
 +
  <code>module add apps/gaussian/g09.B.01</code>
 +
 
 +
Program uruchamiamy poleceniem <tt>g09</tt>
 +
 
 +
==== Przykładowy skrypt ====
 +
===== Wersja szeregowa =====
 +
 
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
 +
 
 +
===== Wersja równoległa ze współdzieloną pamięcią=====
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
</syntaxhighlight>
  
 
=G09.A.02=
 
=G09.A.02=
Zmienne środowiskowe ustawiamy ładując moduł <tt>gaussian/g09.A.02</tt>
+
Zmienne środowiskowe ustawiamy ładując moduł <tt>apps/gaussian/g09.A.02</tt>
  
   <code>module add gaussian/g09.A.02</code>
+
   <code>module add apps/gaussian/g09.A.02</code>
  
 
Program uruchamiamy poleceniem <tt>g09</tt>
 
Program uruchamiamy poleceniem <tt>g09</tt>
Linia 19: Linia 252:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
#!/bin/env bash
  #PBS -l mem=2gb
+
##### Maksymalna pamiec przydzielona dla zadania
  #PBS -l nodes=1:ppn=1
+
#PBS -l mem=1gb
  #PBS -q l_short
+
##### Maksymalnie 1 rdzen na wezle
  #PBS -N nazwa_obliczen
+
#PBS -l nodes=1:ppn=1
 
+
##### Maksymalny czas obliczen 1 godzina
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji. 09 rev. A.02 przy uzyciu Modules
+
#PBS -l walltime=1:00:00
  module add gaussian/g09.A.02
+
##### Nazwa kolejki
 
+
#PBS -q l_short
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
##### Nazwa zadania widoczna w systemie kolejkowym
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
#PBS -N nazwa_obliczen
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
##### Nazwa grantu uzytego do obliczen
  fi
+
#PBS -A nazwa_grantu
 
+
 
  # ustawienie sciezki na pliki tymczasowe
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
  export GAUSS_SCRDIR=$TMPDIR
+
module add apps/gaussian/g09.A.02
 
+
 
  # utworzenie katalogu na pliku tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
  mkdir -p $GAUSS_SCRDIR
+
echo "Temporary files stored in" $GAUSS_SCRDIR
 
+
 
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
+
# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
  cd $PBS_O_WORKDIR
+
cd $PBS_O_WORKDIR
 +
 
 +
# uruchomienie zadania
 +
g09 job.com
  
  #uruchomienie zadania
+
#usuniecie plikow tymczasowych
  g09 job.com
+
rm -rf $GAUSS_SCRDIR
 
 
  #usuniecie plikow tymczasowych
 
  rm -rf $GAUSS_SCRDIR
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== Wersja równoległa =====
+
===== Wersja równoległa ze współdzieloną pamięcią=====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
#!/bin/env bash
  #PBS -l mem=2gb
+
##### Maksymalna pamiec przydzielona dla zadania
  #PBS -l nodes=1:ppn=12
+
#PBS -l mem=12gb
  #PBS -q l_short
+
##### Maksymalnie 12 rdzeni na wezle
  #PBS -N nazwa_obliczen
+
#PBS -l nodes=1:ppn=12
 
+
##### Maksymalny czas obliczen 1 godzina
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji 09 rev. A.02 przy uzyciu Modules
+
#PBS -l walltime=1:00:00
  module add gaussian/g09.A.02
+
##### Nazwa kolejki
 
+
#PBS -q l_short
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
##### Nazwa zadania widoczna w systemie kolejkowym
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
#PBS -N nazwa_obliczen
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
##### Nazwa grantu uzytego do obliczen
  fi
+
#PBS -A nazwa_grantu
 
 
  # ustawienie sciezki na pliki tymczasowe
 
  export GAUSS_SCRDIR=$TMPDIR
 
 
 
  # utworzenie katalogu na pliku tymczasowe
 
  mkdir -p $GAUSS_SCRDIR
 
 
 
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
 
  cd $PBS_O_WORKDIR
 
  
  #uruchomienie zadania
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
  g09 job.com
+
module add apps/gaussian/g09.A.02
 
+
 
  #usuniecie plikow tymczasowych
+
# informacja gdzie beda przechowywane pliki tymczasowe
  rm -rf $GAUSS_SCRDIR
+
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
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
  
  
 
= G03.E.01=
 
= G03.E.01=
Zmienne środowiskowe ustawiamy ładując moduł <tt>gaussian/g03.E.01</tt>
+
Zmienne środowiskowe ustawiamy ładując moduł <tt>apps/gaussian/g03.E.01</tt>
  
   <code>module add gaussian/g03.E.01</code>
+
   <code>module add apps/gaussian/g03.E.01</code>
  
 
Program uruchamiamy poleceniem <tt>g03</tt>
 
Program uruchamiamy poleceniem <tt>g03</tt>
Linia 93: Linia 327:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
#!/bin/env bash
  #PBS -l mem=2gb
+
##### Maksymalna pamiec przydzielona dla zadania
  #PBS -l nodes=1:ppn=1
+
#PBS -l mem=1gb
  #PBS -q l_short
+
##### Maksymalnie 1 rdzen na wezle
  #PBS -N nazwa_obliczen
+
#PBS -l nodes=1:ppn=1
 
+
##### Maksymalny czas obliczen 1 godzina
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji 03 rev. E.01 przy uzyciu Modules
+
#PBS -l walltime=1:00:00
  module add gaussian/g03.E.01
+
##### Nazwa kolejki
 
+
#PBS -q l_short
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
##### Nazwa zadania widoczna w systemie kolejkowym
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
#PBS -N nazwa_obliczen
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
##### Nazwa grantu uzytego do obliczen
  fi
+
#PBS -A nazwa_grantu
 
+
 
  # ustawienie sciezki na pliki tymczasowe
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
  export GAUSS_SCRDIR=$TMPDIR
+
module add apps/gaussian/g03.E.01
 
 
  # utworzenie katalogu na pliku tymczasowe
 
  mkdir -p $GAUSS_SCRDIR
 
 
 
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
 
  cd $PBS_O_WORKDIR
 
  
  #uruchomienie zadania
+
# informacja gdzie beda przechowywane pliki tymczasowe
  g03 job.com
+
echo "Temporary files stored in" $GAUSS_SCRDIR
 
+
 
  #usuniecie plikow tymczasowych
+
# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
  rm -rf $GAUSS_SCRDIR
+
cd $PBS_O_WORKDIR
 +
 
 +
# uruchomienie zadania
 +
g03 job.com
 +
 
 +
#usuniecie plikow tymczasowych
 +
rm -rf $GAUSS_SCRDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== Wersja równoległa =====
+
===== Wersja równoległa ze współdzieloną pamięcią=====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
#!/bin/env bash
  #PBS -l mem=2gb
+
##### Maksymalna pamiec przydzielona dla zadania
  #PBS -l nodes=1:ppn=12
+
#PBS -l mem=12gb
  #PBS -q l_short
+
##### Maksymalnie 12 rdzeni na wezle
  #PBS -N nazwa_obliczen
+
#PBS -l nodes=1:ppn=12
 
+
##### Maksymalny czas obliczen 1 godzina
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji 03 rev. E.01 przy uzyciu Modules
+
#PBS -l walltime=1:00:00
  module add gaussian/g03.E.01
+
##### Nazwa kolejki
 
+
#PBS -q l_short
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
##### Nazwa zadania widoczna w systemie kolejkowym
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
#PBS -N nazwa_obliczen
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
##### Nazwa grantu uzytego do obliczen
  fi
+
#PBS -A nazwa_grantu
 
+
 
  # ustawienie sciezki na pliki tymczasowe
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
  export GAUSS_SCRDIR=$TMPDIR
+
module add apps/gaussian/g03.E.01
 
+
 
  # utworzenie katalogu na pliku tymczasowe
+
# informacja gdzie beda przechowywane pliki tymczasowe
  mkdir -p $GAUSS_SCRDIR
+
echo "Temporary files stored in" $GAUSS_SCRDIR
 
+
 
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
+
# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
  cd $PBS_O_WORKDIR
+
cd $PBS_O_WORKDIR
 +
 
 +
# uruchomienie zadania
 +
g03 job.com
  
  #uruchomienie zadania
+
#usuniecie plikow tymczasowych
  g03 job.com
+
rm -rf $GAUSS_SCRDIR
 
 
  #usuniecie plikow tymczasowych
 
  rm -rf $GAUSS_SCRDIR
 
 
</syntaxhighlight>
 
</syntaxhighlight>

Aktualna wersja na dzień 10:47, 19 maj 2014

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