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

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
(dodano G09 rev C.01)
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 Gaussian09 w wersji A.02 i C.01 oraz Gaussian03 w wersji E.01.
  
 
= Informacje ogólne =
 
= Informacje ogólne =
Linia 7: Linia 7:
  
 
'''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).
 +
 +
=G09.C.01=
 +
Zmienne środowiskowe ustawiamy ładując moduł <tt>gaussian/g09.C.01</tt>
 +
 +
  <code>module add 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 vmem=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
 +
 +
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev C.01 przy uzyciu Modules
 +
module add gaussian/g09.C.01
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
 +
 +
# sprawdzenie czy dostepny jest dysk do obliczen
 +
if [ -d $SCRATCH ]; then
 +
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 +
else
 +
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 +
  exit
 +
fi
 +
 +
# utworzenie katalogu na pliku tymczasowe
 +
mkdir -p $TMPDIR
 +
 +
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
 +
export GAUSS_SCRDIR=$TMPDIR
 +
 +
# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
 +
cd $PBS_O_WORKDIR
 +
 +
# uruchomienie zadania
 +
g09 job.com
 +
 +
#usuniecie plikow tymczasowych
 +
rm -rf $TMPDIR
 +
</syntaxhighlight>
 +
 +
===== Wersja równoległa ze współdzieloną pamięcią=====
 +
<syntaxhighlight lang="bash">
 +
#!/bin/env bash
 +
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
 +
#PBS -l pvmem=1gb
 +
##### 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
 +
 +
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 rev. C.01 przy uzyciu Modules
 +
module add gaussian/g09.C.01
 +
 +
# Ustawienie szybkiego dysku do obliczen
 +
module add scratch
 +
 +
# sprawdzenie czy dostepny jest dysk do obliczen
 +
if [ -d $SCRATCH ]; then
 +
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 +
else
 +
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 +
  exit
 +
fi
 +
 +
# utworzenie katalogu na pliku tymczasowe
 +
mkdir -p $TMPDIR
 +
 +
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
 +
export GAUSS_SCRDIR=$TMPDIR
 +
 +
# przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
 +
cd $PBS_O_WORKDIR
 +
 +
# uruchomienie zadania
 +
g09 job.com
 +
 +
#usuniecie plikow tymczasowych
 +
rm -rf $TMPDIR
 +
</syntaxhighlight>
 +
 +
  
 
=G09.A.02=
 
=G09.A.02=
Linia 39: Linia 138:
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
if [ -d $SCRATCH ]; then
 
if [ -d $SCRATCH ]; then
   export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
+
   export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
else
 
else
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
Linia 58: Linia 157:
  
 
#usuniecie plikow tymczasowych
 
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
+
rm -rf $TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 83: Linia 182:
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
if [ -d $SCRATCH ]; then
 
if [ -d $SCRATCH ]; then
   export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
+
   export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
else
 
else
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
Linia 90: Linia 189:
  
 
# utworzenie katalogu na pliku tymczasowe
 
# utworzenie katalogu na pliku tymczasowe
mkdir -p $JOB_TMPDIR
+
mkdir -p $TMPDIR
  
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
Linia 102: Linia 201:
  
 
#usuniecie plikow tymczasowych
 
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
+
rm -rf $TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
  
  
Linia 137: Linia 237:
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
if [ -d $SCRATCH ]; then
 
if [ -d $SCRATCH ]; then
   export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
+
   export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
else
 
else
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
Linia 144: Linia 244:
  
 
# utworzenie katalogu na pliku tymczasowe
 
# utworzenie katalogu na pliku tymczasowe
mkdir -p $JOB_TMPDIR
+
mkdir -p $TMPDIR
  
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
Linia 156: Linia 256:
  
 
#usuniecie plikow tymczasowych
 
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
+
rm -rf $TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 181: Linia 281:
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
# sprawdzenie czy dostepny jest dysk do obliczen
 
if [ -d $SCRATCH ]; then
 
if [ -d $SCRATCH ]; then
   export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
+
   export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
 
else
 
else
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
 
   echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
Linia 188: Linia 288:
  
 
# utworzenie katalogu na pliku tymczasowe
 
# utworzenie katalogu na pliku tymczasowe
mkdir -p $JOB_TMPDIR
+
mkdir -p $TMPDIR
  
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
 
# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
Linia 200: Linia 300:
  
 
#usuniecie plikow tymczasowych
 
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
+
rm -rf $TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>

Wersja z 07:55, 5 cze 2012

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).

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 vmem=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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
#PBS -l pvmem=1gb
##### 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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR


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 vmem=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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $JOB_TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
#PBS -l pvmem=1gb
##### 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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g09 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR


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 vmem=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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR
Wersja równoległa ze współdzieloną pamięcią
#!/bin/env bash
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
#PBS -l pvmem=1gb
##### 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

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

# Ustawienie szybkiego dysku do obliczen
module add scratch

# sprawdzenie czy dostepny jest dysk do obliczen
if [ -d $SCRATCH ]; then
  export TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
else
  echo "Obliczenia nie moga byc wykonane z powodu braku dostepu do zasobow dyskowych!"
  exit
fi

# utworzenie katalogu na pliku tymczasowe
mkdir -p $TMPDIR

# ustawienie zmiennej okreslajacej katalog na pliki tymczasowe dla Gaussiana
export GAUSS_SCRDIR=$TMPDIR

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

# uruchomienie zadania
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $TMPDIR