Gromacs: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 10: Linia 10:
 
Gromacs umożliwia obliczenia równoległe przy użyciu standardowych bibliotek [[MPI]].
 
Gromacs umożliwia obliczenia równoległe przy użyciu standardowych bibliotek [[MPI]].
  
Na klastrze [[Nova]] dostępne są dwie wersje Gromacs-a '''4.0.7''' i '''4.5.1'''. Każda wersja skompilowana jest kompilatorami Intela i udostępnia obliczenia sekwencyjne i równoległe z wykorzystaniem trybu float lub double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH) i sieci InfiniBand.  
+
Na klastrze [[Nova]] dostępne są wersje Gromacs-a: '''4.0.7''' i '''4.5.1'''. Każda wersja skompilowana jest kompilatorami Intela i udostępnia obliczenia sekwencyjne i równoległe z wykorzystaniem trybu float lub double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH) i sieci InfiniBand.  
  
 
Programy znajdują się w katalogach:
 
Programy znajdują się w katalogach:
Linia 72: Linia 72:
 
   
 
   
 
Powyższy skrypt ładuje moduł odpowiedniej wersji Gromacsa. Moduł wykrywa na podstawie ustawień srodowiska PBS czy zadanie ma być równoległe czy sekwencyjne i odpowiednio ustawia zmienną <code>MDRUN</code>, która w przypadku zadań równoległych zawiera polecenia uruchamiające środowisko MPI.  
 
Powyższy skrypt ładuje moduł odpowiedniej wersji Gromacsa. Moduł wykrywa na podstawie ustawień srodowiska PBS czy zadanie ma być równoległe czy sekwencyjne i odpowiednio ustawia zmienną <code>MDRUN</code>, która w przypadku zadań równoległych zawiera polecenia uruchamiające środowisko MPI.  
 
  
 
Wstawienie skryptu do kolejki:
 
Wstawienie skryptu do kolejki:
Linia 78: Linia 77:
 
  nova> qsub gmx.pbs
 
  nova> qsub gmx.pbs
  
 +
 +
;Uwaga:  Od wersji 4.5 Gromacs zrównolegla domyślnie obliczenia także na poziomie wątków. Liczbę wątków można ustalić opcją "<code>-nt <liczba wątków></code>". Aby wyłączyć wątkowanie należy w wywołaniu programu dodać opcję "<code>-nt 1</code>". Jeżeli wątkowanie jest włączone (domyślnie jest) program próbuje automatycznie podzielić domenę problemu na tyle porcji ile uruchamia wątków - jeżeli mu się to nie uda, program jest przerywany i zadanie kończy się komunikatem:
 +
 +
: -------------------------------------------------------
 +
: Fatal error:
 +
: Domain decomposition does not support simple neighbor searching, use grid searching or use particle decomposition
 +
: For more information and tips for troubleshooting, please check the GROMACS
 +
: website at http://www.gromacs.org/Documentation/Errors
 +
: -------------------------------------------------------
  
  

Wersja z 11:55, 31 mar 2011

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

Gromacs.jpg

Gromacs - pakiet oprogramowania chemicznego przeznaczony do symulacji dynamiki molekularnej. Program zaprojektowany został z myślą o molekułach biochemicznych (np. proteiny, lipidy) ale z powodzeniem wykorzystywany jest także do badania systemów nie-biologicznych, np. polimerów.

Licencja

Pakiet jest darmowy, rozpowszechniany na licencji GNU GPL.


Gromacs w WCSS

Gromacs umożliwia obliczenia równoległe przy użyciu standardowych bibliotek MPI.

Na klastrze Nova dostępne są wersje Gromacs-a: 4.0.7 i 4.5.1. Każda wersja skompilowana jest kompilatorami Intela i udostępnia obliczenia sekwencyjne i równoległe z wykorzystaniem trybu float lub double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH) i sieci InfiniBand.

Programy znajdują się w katalogach:

/usr/local/gromacs/gromacs-4.0.7-double-seq/ - wersja sekwencyjna podwójnej precyzji
/usr/local/gromacs/gromacs-4.0.7-double-mpi/ - wersja równoległa podwójnej precyzji
/usr/local/gromacs/gromacs-4.0.7-single-seq/ - wersja sekwencyjna pojedynczej precyzji
/usr/local/gromacs/gromacs-4.0.7-single-mpi/ - wersja równoległa pojedynczej precyzji
/usr/local/gromacs/gromacs-4.5.1-double/ - wersja sekwencyjna podwójnej precyzji
/usr/local/gromacs/gromacs-4.5.1-double-mpi/ - wersja równoległa podwójnej precyzji
/usr/local/gromacs/gromacs-4.5.1-single/ - wersja sekwencyjna pojedynczej precyzji
/usr/local/gromacs/gromacs-4.5.1-single-mpi/ - wersja równoległa pojedynczej precyzji

Do prostego ustawiania środowiska programu można skorzystać z mechanizmu modułów.

Inicjalizacja środowiska w powłoce bash:

nova> source /usr/local/Modules/3.2.7/init/bash
nova> module load gromacs

Powyższe polecenie ustawia odpowiednie ścieżki dostępu do poleceń grompp i mdrun aktualnej domyślnej wersji pakietu Gromacs, czyli 4.5.1-s (single precision).

Aby załadować środowisko konkretnej wersji należy skorzystać z jednego z poleceń:

nova> module load gromacs/4.5.1-s
nova> module load gromacs/4.5.1-d
nova> module load gromacs/4.0.7-s
nova> module load gromacs/4.0.7-d
Przykładowy skrypt gmx.pbs
#!/bin/bash
#PBS -q normal
#PBS -l nodes=1:ppn=4
#PBS -l mem=7200MB
#PBS -N gmx_test1

# Zaladuj modul gromacs
source /usr/local/Modules/3.2.7/init/bash
module load gromacs/4.0.7-d

# Przejdz do katalogu domowego z plikami wejsciowymi zadania
cd /home/$USER/gmx_test1/
export DIR=`pwd`

# Utworz katalog tymczasowy, przekopiuj pliki wejsciowe 
export SCR=$SCRDIR/gmx-$PBS_JOBID
mkdir -p $SCR
cp gmx_test1/* $SCR
cd $SCR

# Uruchom przetwarzanie grompp
$GROMPP [opcje]

# Uruchom obliczenia mdrun
$MDRUN -v -s test1.tpr -o test1.trr > test1.log 2>&1

#przekopiuj wyniki do katalogu domowego
cd $DIR
cp -r $SCR . && rm -rf $SCR


Powyższy skrypt ładuje moduł odpowiedniej wersji Gromacsa. Moduł wykrywa na podstawie ustawień srodowiska PBS czy zadanie ma być równoległe czy sekwencyjne i odpowiednio ustawia zmienną MDRUN, która w przypadku zadań równoległych zawiera polecenia uruchamiające środowisko MPI.

Wstawienie skryptu do kolejki:

nova> qsub gmx.pbs


Uwaga
Od wersji 4.5 Gromacs zrównolegla domyślnie obliczenia także na poziomie wątków. Liczbę wątków można ustalić opcją "-nt <liczba wątków>". Aby wyłączyć wątkowanie należy w wywołaniu programu dodać opcję "-nt 1". Jeżeli wątkowanie jest włączone (domyślnie jest) program próbuje automatycznie podzielić domenę problemu na tyle porcji ile uruchamia wątków - jeżeli mu się to nie uda, program jest przerywany i zadanie kończy się komunikatem:
-------------------------------------------------------
Fatal error:
Domain decomposition does not support simple neighbor searching, use grid searching or use particle decomposition
For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors
-------------------------------------------------------


Dokumentacja


Zobacz też: Oprogramowanie KDM