Zeus:TURBOMOLE: Różnice pomiędzy wersjami
Linia 71: | Linia 71: | ||
########################################## | ########################################## | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
===== Obliczenia równoległe z współdzieloną pamięcią ===== | ===== Obliczenia równoległe z współdzieloną pamięcią ===== | ||
Linia 124: | Linia 123: | ||
########################################## | ########################################## | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
===== Oblicznia zrównoleglone na wielu węzłach ===== | ===== Oblicznia zrównoleglone na wielu węzłach ===== |
Wersja z 09:05, 23 paź 2013
Na klastrze Zeus zainstalowano pakiet TURBOMOLE w wersjach 6.3.1, 6.4 oraz 6.5.
Spis treści
Informacje ogólne
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie Modules. Dla oprogramowania TURBOMOLE przygotowano moduły apps/turbomole/<nazwa-wersji>, przy czym moduł apps/turbomole jest odnośnikiem dla wersji domyślnej. Do załadowania domyślnej wersji pakietu służy komenda:
module add apps/turbomole
Domyślna wersja to 6.5.
Pakiet TURBOMOLE składa się z wielu skryptów obliczeniowych. Najważniejsze z nich to dscf, ridft, ricc2, grad, egrad, jobex, aoforce, aoforce oraz NumForce. Dodatkowo skrypty define, cosmoprep służą do przygotowania danych do obliczeń.
Uwaga: Gdy obliczenia w TURBOMOLE wymagają użycia dużej ilości przestrzeni dyskowej zaleca się by pliki tymczasowe tworzyć używając zasobu dyskowego Lustre. W przypadku wykorzystywania więcej niż jednego węzła obliczeniowego przechowywanie plików tymczasowych w systemie Lustre jest konieczne ponieważ katalog je zawierający musi być dostępny z wszystkich węzłów.
6.3.1
Zmienne środowiskowe ustawia się ładując moduł apps/turbomole/6.3.1
module add apps/turbomole/6.3.1
Przykładowe skrypty
Obliczenia szeregowe
Zadanie TURBOMOLE będzie się wykonywać na jednym węźle i będzie wykorzystywało 1 rdzeń.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=1
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### 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
# ustawienie srodowiska dla pakietu TURBOMOLE w wersji 6.3.1
module add apps/turbomole/6.3.1
export TURBOTMPDIR=$TMPDIR
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $TURBOTMPDIR
# skopiowanie plikow wejsciowych do katalogu na pliki tymczasowe
cp -r $PBS_O_WORKDIR/* $TURBOTMPDIR
# przejscie do katalogu, w ktorym beda prowadzone obliczenia
cd $TURBOTMPDIR
##########################################
# uruchomienie komend TURBOMOLE
dscf > $PBS_O_WORKDIR/dscf.log
jobex -c 500 -gcart 4 -grad -keep &> jobex.log
#aoforce > $PBS_O_WORKDIR/vibs.log
#NumForce -central > $PBS_O_WORKDIR/vibs.log
# skopiowanie plikow wynikowych z powrotem do katalogu startowego
cp -r --update $TURBOTMPDIR/* $PBS_O_WORKDIR
# wyczyszczenie katalogu tymczasowego
rm -rf $TURBOTMPDIR
##########################################
echo "FINISHED AT " `date`
##########################################
Obliczenia równoległe z współdzieloną pamięcią
Zadanie TURBOMOLE będzie się wykonywać na jednym węźle i będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=1:ppn=12
##### Maksymalna pamiec przydzielona na zadanie
#PBS -l mem=1gb
##### 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
# ustawienie srodowiska dla pakietu TURBOMOLE w wersji 6.3.1
module add apps/turbomole/6.3.1-smp
export TURBOTMPDIR=$TMPDIR
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $TURBOTMPDIR
# skopiowanie plikow wejsciowych do katalogu na pliki tymczasowe
cp -r $PBS_O_WORKDIR/* $TURBOTMPDIR
# przejscie do katalogu, w ktorym beda prowadzone obliczenia
cd $TURBOTMPDIR
##########################################
# uruchomienie komend TURBOMOLE
dscf > $PBS_O_WORKDIR/dscf.log
jobex -c 500 -gcart 4 -grad -keep &> jobex.log
#aoforce > $PBS_O_WORKDIR/vibs.log
#NumForce -central > $PBS_O_WORKDIR/vibs.log
# skopiowanie plikow wynikowych z powrotem do katalogu startowego
cp -r --update $TURBOTMPDIR/* $PBS_O_WORKDIR
# wyczyszczenie katalogu tymczasowego
rm -rf $TURBOTMPDIR
##########################################
echo "FINISHED AT " `date`
##########################################
Oblicznia zrównoleglone na wielu węzłach
Zadanie TURBOMOLE będzie się wykonywać na 4 węzłach i na każdym węźle będzie wykorzystywało 12 rdzeni.
#!/bin/env bash
##### Maksymalnie 12 rdzeni na wezle
#PBS -l nodes=4:ppn=12
##### ##### Maksymalna pamiec przydzielona na jeden proces! Czyli sumarycznie 2GB*4*2=16GB na zadanie!
#PBS -l pmem=2gb
##### 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
# Ustawienie szybkiego dysku do obliczen
module add scratch
# ustawienie srodowiska dla pakietu TURBOMOLE w wersji 6.3.1
module add apps/turbomole/6.3.1
export TURBOTMPDIR=$SCRATCHDIR
# informacja gdzie beda przechowywane pliki tymczasowe
echo "Temporary files stored in" $TURBOTMPDIR
# skopiowanie plikow wejsciowych do katalogu na pliki tymczasowe
cp -r $PBS_O_WORKDIR/* $TURBOTMPDIR
# przejscie do katalogu, w ktorym beda prowadzone obliczenia
cd $TURBOTMPDIR
##########################################
# uruchomienie komend TURBOMOLE
dscf > $PBS_O_WORKDIR/dscf.log
jobex -c 500 -gcart 4 -grad -keep &> jobex.log
#aoforce > $PBS_O_WORKDIR/vibs.log
#NumForce -central > $PBS_O_WORKDIR/vibs.log
# skopiowanie plikow wynikowych z powrotem do katalogu startowego
cp -r --update $TURBOTMPDIR/* $PBS_O_WORKDIR
# wyczyszczenie katalogu tymczasowego
rm -rf $TURBOTMPDIR
##########################################
echo "FINISHED AT " `date`
##########################################