Gaussian

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Wersja z dnia 07:55, 5 cze 2012 autorstwa Noga (dyskusja | edycje) (dodano G09 rev C.01)
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).

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