Zeus:TURBOMOLE: Różnice pomiędzy wersjami
| Linia 13: | Linia 13: | ||
'''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 [[Zeus:Lustre|Lustre]]. W przypadku wykorzystywania więcej niż jednego węzła obliczeniowego przechowywanie plików tymczasowych w systemie [[Zeus:Lustre|Lustre]] jest konieczne ponieważ katalog je zawierający musi być dostępny z wszystkich węzłów. | '''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 [[Zeus:Lustre|Lustre]]. W przypadku wykorzystywania więcej niż jednego węzła obliczeniowego przechowywanie plików tymczasowych w systemie [[Zeus:Lustre|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ł <tt>apps/turbomole/6.3.1</tt> | ||
| + | |||
| + | <code>module add apps/turbomole/6.3.1</code> | ||
| + | |||
| + | ==== Przykładowe skrypty ==== | ||
| + | ===== Obliczenia szeregowe ===== | ||
| + | |||
| + | Zadanie [[TURBOMOLE]] będzie się wykonywać na jednym węźle i będzie wykorzystywało 1 rdzeń. | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | #!/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` | ||
| + | ########################################## | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | ===== 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. | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | #!/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` | ||
| + | ########################################## | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | |||
| + | ===== 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. | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | #!/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` | ||
| + | ########################################## | ||
| + | </syntaxhighlight> | ||
Wersja z 09:03, 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`
##########################################