Zeus:NWChem: Różnice pomiędzy wersjami
Z Komputery Dużej Mocy w ACK CYFRONET AGH
Linia 64: | Linia 64: | ||
===== Wersja równoległa ===== | ===== Wersja równoległa ===== | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | #!/bin/env bash | ||
+ | ##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*14*4=64GB na zadanie! | ||
+ | #PBS -l pvmem=1gb | ||
+ | ##### Maksymalnie 64 rdzenie na 16 wezlach, po 4 rdzenie na kazdym z siecia Infiniband | ||
+ | #PBS -l nodes=16:ppn=4:infiniband | ||
+ | ##### 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 NWChem przy uzyciu Modules | ||
+ | module add nwchem | ||
+ | |||
+ | # 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 | ||
+ | |||
+ | # Skopiowanie plikow z katalogu, w ktorym uruchamiano zadanie do katalogu tymczasowego | ||
+ | cp $PBS_O_WORKDIR/* $JOB_TMPDIR | ||
+ | |||
+ | # Przejscie do katalogu gdzie beda wykonywane obliczenia | ||
+ | cd $JOB_TMPDIR | ||
+ | |||
+ | # uruchomienie zadania po Infiniband z wykluczeniem TCP i zapisanie rezultatow do pliku wyniki.out | ||
+ | |||
+ | mpirun --mca btl ^tcp nwchem_parallel <opcje, pliki> | ||
+ | # Zachowanie wynikow dzialania programu | ||
+ | #cp wazny_plik* $PBS_O_WORKDIR | ||
+ | |||
+ | #usuniecie plikow tymczasowych | ||
+ | rm -rf $JOB_TMPDIR | ||
+ | |||
+ | </syntaxhighlight> |
Wersja z 14:28, 31 sty 2012
Wersje oprogramowania zainstalowane na klastrze Zeus.
Spis treści
Informacje ogólne
Do ustawiania środowiska uruchomieniowego oprogramowania na klastrze Zeus służy narzędzie Modules.
NWChem
Zmienne środowiskowe ustawiamy ładując moduł nwchem
module add nwchem
Program uruchamiamy poleceniem
nwchem_parallel <plik wejsciowy>
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 <<NAZWA>> i <<WERSJA>> przy uzyciu Modules
module add nwchem
# 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
# Skopiowanie plikow z katalogu, w ktorym uruchamiano zadanie do katalogu tymczasowego
cp $PBS_O_WORKDIR/* $JOB_TMPDIR
# Przejscie do katalogu gdzie beda wykonywane obliczenia
cd $JOB_TMPDIR
# uruchomienie zadania
nwchem_parallel <opcje, pliki>
# Zachowanie wynikow dzialania programu
#cp wazny_plik* $PBS_O_WORKDIR
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR
Wersja równoległa
#!/bin/env bash
##### Maksymalna pamiec przydzielona na jeden rdzen! Czyli sumarycznie 1GB*14*4=64GB na zadanie!
#PBS -l pvmem=1gb
##### Maksymalnie 64 rdzenie na 16 wezlach, po 4 rdzenie na kazdym z siecia Infiniband
#PBS -l nodes=16:ppn=4:infiniband
##### 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 NWChem przy uzyciu Modules
module add nwchem
# 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
# Skopiowanie plikow z katalogu, w ktorym uruchamiano zadanie do katalogu tymczasowego
cp $PBS_O_WORKDIR/* $JOB_TMPDIR
# Przejscie do katalogu gdzie beda wykonywane obliczenia
cd $JOB_TMPDIR
# uruchomienie zadania po Infiniband z wykluczeniem TCP i zapisanie rezultatow do pliku wyniki.out
mpirun --mca btl ^tcp nwchem_parallel <opcje, pliki>
# Zachowanie wynikow dzialania programu
#cp wazny_plik* $PBS_O_WORKDIR
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR