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`
##########################################