Dalton: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 40: Linia 40:
  
 
;Obliczenia równoległe
 
;Obliczenia równoległe
Dalton w wersji równoległej korzysta z [[MVAPICH]] (procesy komunikują się przez sieć InfiniBand). Skrypt uruchamiający program używa komendy <code>mpiexec</code> (a nie <code>mpirun</code>). Na klastrze Nova należy korzystać z mpiexec dostępnego w katalogu: <code>/usr/local/bin/mpiexec</code>.  
+
Dalton w wersji równoległej korzysta z [[MVAPICH]] (procesy komunikują się przez sieć InfiniBand). Skrypt uruchamiający program używa komendy <code>mpiexec</code> (a nie <code>mpirun</code>). Na klastrze Nova należy korzystać z mpiexec dostępnego w katalogu: <code>/usr/local/osc_mpiexec/0.85_nodefile/bin/mpiexec</code>.  
  
 
Uruchamianie obliczeń równoległych w kolejce, przykład:
 
Uruchamianie obliczeń równoległych w kolejce, przykład:
sub-dalton plik.dal plik.mol wielkosc_pamieci_w_MB kolejka liczba_procesorow
+
  sub-dalton calc.dal h2o.mol parallel 2 1800
  sub-dalton calc.dal h2o.mol 4000 parallel 2
 
  
 
Do wykonania obliczeń równoległych potrzebne są odpowiednio przygotowane pliki wejściowe.
 
Do wykonania obliczeń równoległych potrzebne są odpowiednio przygotowane pliki wejściowe.
Linia 70: Linia 69:
  
 
== Wyniki testów ==
 
== Wyniki testów ==
Program został przetestowany zestawem testów (ok. 220) dostarczanych razem ze źródłami.
+
Program został przetestowany zestawem testów dostarczanych razem ze źródłami. Wszystkie testy wykonały się poprawnie.
 
 
Testy, które nie wykonały się poprawnie:
 
{|
 
|
 
* energy_restart
 
* geoopt_constrain1a
 
* geoopt_constrain1b
 
* geoopt_exci2
 
* geoopt_redintmin
 
* prop_vibvcd
 
* rsp_dresqr
 
* walk_gradex
 
|
 
* walk_image
 
* walk_vibave2
 
* cc_grad
 
* cc_grad_ccpt_hf
 
* cc_geopt_ccpt_hf
 
* cc_geopt_ccpt_h2o
 
* energy_corehole
 
* geoopt_cartmin
 
|
 
* geoopt_redintsad
 
* geoopt_symbrk
 
* walk_polar2
 
* cc_grad2
 
* cc_geoopt
 
* geoopt_prop3
 
* prop_vibana
 
* walk_solvmag
 
|}
 
  
 
== Dokumentacja ==
 
== Dokumentacja ==

Wersja z 12:16, 15 paź 2012

< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie naukowe < Dalton

Dalton
Serwer Wersja
Supernova 2011
Kontakt
kdm@wcss.pl

Dalton - oprogramowanie do obliczeń kwantowo-chemicznych. Pozwala wyznaczać właściwości molekularne, w tym optyczne i elektryczne (np. liniowe i nieliniowe polaryzowalności) oraz magnetyczne (NMR, podatność magnetyczna). Udostępnia metody obliczeniowe: Hartree-Focka, wielokonfiguracyjną metodę pola samouzgodnionego, sprzężonych klasterów, teorię funkcjonału gęstości (z metodą Kohna-Shama). Jako bazy funkcyjnej program używa funkcji Gaussa (Gaussian type orbitals, GTO).

Licencja

WCSS posiada darmową licencję instytucjonalną na Daltona 2011.

Użytkownicy korzystający z Daltona zobowiązani są do umieszczenia w publikacjach, wykorzystujących wyniki obliczeń wykonanych przy użyciu tego oprogramowania, cytowania następującej treści:

"DALTON, a molecular electronic structure program, Release 2.0 (2005),
see http://www.kjemi.uio.no/software/dalton/dalton.html "

Korzystanie w WCSS

Dalton zainstalowany jest na klastrze Supernova, w wersji sekwencyjnej i równoległej, w katalogu:

/usr/local/dalton

Program skompilowany jest kompilatorem Intela, z użyciem bibliotek MKL. Wersja równoległa jest dodatkowo skompilowana z bibliotekami MVAPICH.

Uruchamianie

Przygotowanie środowiska i uruchomienie aplikacji:

> module load dalton
> dalton

Dalton do obliczeń potrzebuje zbioru instrukcji (plik .dal) oraz danych (plik .mol). Uruchomienie obliczeń dla przykładowych plików calc.dal i h2o.mol:

 > dalton calc h2o

Jeśli obydwa pliki mają tę samą nazwę bazową, np. calc_h2o.dal i calc_h2o.mol, program można uruchomić następująco:

> dalton calc_h2o
Wstawianie do kolejki

Zadania obliczeniowe należy wstawiać do kolejki, korzystając z polecenia:

sub-dalton plik.dal plik.mol [kolejka] [liczba_rdzeni] [pamiec_per_rdzen_w_MB]

Gdzie:

  • plik.dal - plik wejściowy z instrukcjami
  • plik.mol - plik wejściowy z danymi
  • kolejka - parametr opcjonalny, kolejka PBS, do której ma zostać wstawione zadanie, wartość domyślna: normal.
  • liczba_rdzeni - parametr opcjonalny, liczba rdzeni dla zadania, wartość domyślna: 1 rdzeń.
  • pamiec_per_rdzen_w_MB - rozmiar pamięci RAM dla pojedynczego rdzenia. Ponieważ część pamięci zużywana jest przez binaria programu, jako pamięć roboczą (zmienna środowiskowa WRKMEM) skrypt przekazuje do Daltona 90% sumarycznego podanego rozmiaru pamięci.
Obliczenia równoległe

Dalton w wersji równoległej korzysta z MVAPICH (procesy komunikują się przez sieć InfiniBand). Skrypt uruchamiający program używa komendy mpiexec (a nie mpirun). Na klastrze Nova należy korzystać z mpiexec dostępnego w katalogu: /usr/local/osc_mpiexec/0.85_nodefile/bin/mpiexec.

Uruchamianie obliczeń równoległych w kolejce, przykład:

sub-dalton calc.dal h2o.mol parallel 2 1800

Do wykonania obliczeń równoległych potrzebne są odpowiednio przygotowane pliki wejściowe.

Przykładowy plik .dal

**DALTON INPUT
.OPTIMIZE
.PARALLEL
**WAVE FUNCTION
.DFT
 B3LYP
**END OF INPUT

Przykładowy plik .mol

BASIS
cc-pVTZ
arbitrary text in here
arbitrary text in here
Atomtypes=1
Charge=1.0 Atoms=2
H        0.0   0.0   0.0
H        0.0   0.0   2.0

Warto zauważyć, że implementacja paradygmatu master/slave w Daltonie sprawia, że proces główny (master) wykonuje fragmenty sekwencyjne programu i odpowiada za rozdział zadań między procesy slave, dlatego wykonuje niewiele obliczeń w porównaniu z procesami slave.

Wyniki testów

Program został przetestowany zestawem testów dostarczanych razem ze źródłami. Wszystkie testy wykonały się poprawnie.

Dokumentacja