NWChem
Z Komputery Dużej Mocy w ACK CYFRONET AGH
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 <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 <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.
# Pliki wejściowe powinny być podawane bez rozszerzenia .nw
mpirun --mca btl ^tcp nwchem <opcje, pliki> >> wyniki.out
# Zachowanie wynikow dzialania programu
#cp wazny_plik* $PBS_O_WORKDIR
#usuniecie plikow tymczasowych
rm -rf $JOB_TMPDIR