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

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj
Linia 19: Linia 19:
  
 
<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 vmem=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%%.*}
 
  fi
 
 
 
  # 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 gaussian/g09.A.02
 
+
 
  #usuniecie plikow tymczasowych
+
# Ustawienie szybkiego dysku do obliczen
  rm -rf $GAUSS_SCRDIR
+
module add scratch
 +
 
 +
# sprawdzenie czy dostepny jest dysk do obliczen
 +
if [ -d $SCRATCH ]; then
 +
  export JOB_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 $JOB_TMPDIR
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
===== Wersja równoległa =====
 
===== Wersja równoległa =====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
  #PBS -l mem=2gb
+
#PBS -l pvmem=1gb
  #PBS -l nodes=1:ppn=12
+
##### Maksymalnie 12 rdzeni na wezle
  #PBS -q l_short
+
#PBS -l nodes=1:ppn=12
  #PBS -N nazwa_obliczen
+
##### Maksymalny czas obliczen 1 godzina
 
+
#PBS -l walltime=1:00:00
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji 09 rev. A.02 przy uzyciu Modules
+
##### Nazwa kolejki
  module add gaussian/g09.A.02
+
#PBS -q l_short
 
+
##### Nazwa zadania widoczna w systemie kolejkowym
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
#PBS -N nazwa_obliczen
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
 
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian09 i A02 przy uzyciu Modules
  fi
+
module add gaussian/g09.A.02
    
+
 
   # ustawienie sciezki na pliki tymczasowe
+
# Ustawienie szybkiego dysku do obliczen
  export GAUSS_SCRDIR=$TMPDIR
+
module add scratch
 
+
 
  # utworzenie katalogu na pliku tymczasowe
+
# sprawdzenie czy dostepny jest dysk do obliczen
  mkdir -p $GAUSS_SCRDIR
+
if [ -d $SCRATCH ]; then
 
+
  export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
+
else
  cd $PBS_O_WORKDIR
+
   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
  
  #uruchomienie zadania
+
#usuniecie plikow tymczasowych
  g09 job.com
+
rm -rf $JOB_TMPDIR
 
 
  #usuniecie plikow tymczasowych
 
  rm -rf $GAUSS_SCRDIR
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Linia 93: Linia 116:
  
 
<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 vmem=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%%.*}
+
 
  fi
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
    
+
module add gaussian/g03.E.01
   # ustawienie sciezki na pliki tymczasowe
+
 
  export GAUSS_SCRDIR=$TMPDIR
+
# Ustawienie szybkiego dysku do obliczen
 
+
module add scratch
  # utworzenie katalogu na pliku tymczasowe
+
 
  mkdir -p $GAUSS_SCRDIR
+
# sprawdzenie czy dostepny jest dysk do obliczen
 
+
if [ -d $SCRATCH ]; then
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
+
  export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
  cd $PBS_O_WORKDIR
+
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
 +
g03 job.com
  
  #uruchomienie zadania
+
#usuniecie plikow tymczasowych
  g03 job.com
+
rm -rf $JOB_TMPDIR
 
 
  #usuniecie plikow tymczasowych
 
  rm -rf $GAUSS_SCRDIR
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
===== Wersja równoległa =====
 
===== Wersja równoległa =====
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
  #!/bin/env bash
+
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*1*12=12GB na zadanie!
  #PBS -l mem=2gb
+
#PBS -l pvmem=1gb
  #PBS -l nodes=1:ppn=12
+
##### Maksymalnie 12 rdzeni na wezle
  #PBS -q l_short
+
#PBS -l nodes=1:ppn=12
  #PBS -N nazwa_obliczen
+
##### Maksymalny czas obliczen 1 godzina
 
+
#PBS -l walltime=1:00:00
  # ustawianie zmiennych srodowiskowych dla Gaussiana wersji 03 rev. E.01 przy uzyciu Modules
+
##### Nazwa kolejki
  module add gaussian/g03.E.01
+
#PBS -q l_short
 
+
##### Nazwa zadania widoczna w systemie kolejkowym
  # sprawdzenie czy dostepny jest rozproszony zasob dyskowy Lustre
+
#PBS -N nazwa_obliczen
  if [ -d /mnt/lustre/scratch/people/$USER/ ]; then
+
 
    export TMPDIR=/mnt/lustre/scratch/people/$USER/${PBS_JOBID%%.*}
+
# Ustawianie zmiennych srodowiskowych dla pakietu Gaussian03 i E01 przy uzyciu Modules
  fi
+
module add gaussian/g03.E.01
    
+
 
   # ustawienie sciezki na pliki tymczasowe
+
# Ustawienie szybkiego dysku do obliczen
  export GAUSS_SCRDIR=$TMPDIR
+
module add scratch
 
+
 
  # utworzenie katalogu na pliku tymczasowe
+
# sprawdzenie czy dostepny jest dysk do obliczen
  mkdir -p $GAUSS_SCRDIR
+
if [ -d $SCRATCH ]; then
 
+
  export JOB_TMPDIR=$SCRATCH/${PBS_JOBID%%.*}
  # przejscie do sciezki, z ktorej wyslano zadanie do systemu kolejkowego
+
else
  cd $PBS_O_WORKDIR
+
   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
 +
g03 job.com
  
  #uruchomienie zadania
+
#usuniecie plikow tymczasowych
  g03 job.com
+
rm -rf $JOB_TMPDIR
 
 
  #usuniecie plikow tymczasowych
 
  rm -rf $GAUSS_SCRDIR
 
 
</syntaxhighlight>
 
</syntaxhighlight>

Wersja z 23:19, 7 mar 2012

Na klastrze Zeus zainstalowano pakiet Gaussian09 w wersji A.02 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.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 JOB_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 $JOB_TMPDIR
Wersja równoległa
##### 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 JOB_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 $JOB_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 JOB_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
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
Wersja równoległa
##### 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 JOB_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
g03 job.com

#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR