Gromacs: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 1: Linia 1:
 
<small>< [[Podręcznik użytkownika KDM]] < [[Oprogramowanie KDM]] < [[Oprogramowanie naukowe]]</small>
 
<small>< [[Podręcznik użytkownika KDM]] < [[Oprogramowanie KDM]] < [[Oprogramowanie naukowe]]</small>
{{aplikacja|nazwa=Gromacs|logo=Gromacs.jpg|serwer=[[Supernova]]|wersja=4.5.3 (single, double, seq, MPI)}}
+
{{aplikacja|nazwa=Gromacs|logo=Gromacs.jpg|serwer=[[Supernova]]|wersja=4.5.3 (single, double, seq, MPI)|wersja2=4.5.5 (single, seq, MPI)}}
 
'''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.
 
'''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.
  
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 [[Supernova]] dostępny jest Gromacs '''4.5.3''' skompilowany kompilatorami Intela w wersji sekwencyjnej i równoległej z wykorzystaniem trybu float lub double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH2) i sieci InfiniBand.  
+
Na klastrze [[Supernova]] dostępny jest  
 
+
* Gromacs '''4.5.3'''  
Programy znajdują się w katalogach (odpowiednio do wersji):
+
** skompilowany kompilatorami Intela w wersji sekwencyjnej i równoległej z wykorzystaniem trybu float i double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH2) i sieci InfiniBand.  
 
+
** Programy znajdują się w katalogach (odpowiednio do wersji):
  /usr/local/gromacs/gromacs-wersja-double/    - wersja sekwencyjna podwójnej precyzji
+
  /usr/local/gromacs/4.5.3-double/    - wersja sekwencyjna podwójnej precyzji
  /usr/local/gromacs/gromacs-wersja-double-mpi/ - wersja równoległa podwójnej precyzji
+
  /usr/local/gromacs/4.5.3-double-mpi/ - wersja równoległa podwójnej precyzji
  /usr/local/gromacs/gromacs-wersja-single/    - wersja sekwencyjna pojedynczej precyzji
+
  /usr/local/gromacs/4.5.3-single/    - wersja sekwencyjna pojedynczej precyzji
  /usr/local/gromacs/gromacs-wersja-single-mpi/ - wersja równoległa pojedynczej precyzji
+
  /usr/local/gromacs/4.5.3-single-mpi/ - wersja równoległa pojedynczej precyzji
 +
* Gromacs '''4.5.5'''
 +
** skompilowany kompilatorami Intela w wersji sekwencyjnej i równoległej z wykorzystaniem trybu float. Wersja równoległa korzysta z bibliotek MPI (MVAPICH2) i sieci InfiniBand.
 +
** Programy znajdują się w katalogu:
 +
/usr/local/gromacs/4.5.5-single/
  
 
; Środowisko aplikacji  
 
; Środowisko aplikacji  
 
Do prostego ustawiania środowiska programu można skorzystać z mechanizmu modułów.
 
Do prostego ustawiania środowiska programu można skorzystać z mechanizmu modułów.
  
Inicjalizacja środowiska modułów w powłoce bash:
+
Załadowanie modułu w powłoce:
  supernova> source /usr/local/Modules/3.2.7/init/bash
+
  > module load gromacs
supernova> module load gromacs
 
  
Powyższe polecenie ustawia odpowiednie ścieżki dostępu do poleceń <code>grompp</code> i <code>mdrun</code> domyślnej (najnowszej) wersji pakietu Gromacs, czyli 4.5.3-double (double precision).
+
Powyższe polecenie ustawia odpowiednie ścieżki dostępu do poleceń <code>grompp</code> i <code>mdrun</code> domyślnej (najnowszej) wersji pakietu Gromacs.
  
 
Aby załadować środowisko konkretnej wersji należy skorzystać z jednego z poleceń:
 
Aby załadować środowisko konkretnej wersji należy skorzystać z jednego z poleceń:
  supernova> module load gromacs/4.5.3-s
+
  > module load gromacs/4.5.3-s
  supernova> module load gromacs/4.5.3-d
+
  > module load gromacs/4.5.3-d
 +
> module load gromacs/4.5.5-s
  
 
;Wstawianie zadań do kolejki
 
;Wstawianie zadań do kolejki
 
Zadania obliczeniowe należy wstawiać do jednej z [[jak korzystać z kolejek PBS|kolejek systemu PBS]]. Można w tym celu skorzystać z gotowego skryptu lub napisać własny. Aby skorzystać z gotowego skryptu wystarczy wywołać polecenie:
 
Zadania obliczeniowe należy wstawiać do jednej z [[jak korzystać z kolejek PBS|kolejek systemu PBS]]. Można w tym celu skorzystać z gotowego skryptu lub napisać własny. Aby skorzystać z gotowego skryptu wystarczy wywołać polecenie:
  
  supernova> sub-gromacs plik_wejsciowy.tpr [kolejka] [liczba_cpu] [pamiec_per_cpu_w_MB]
+
  > '''sub-gromacs''' plik.tpr [kolejka] [parametry]
 +
 
 +
Gdzie:
 +
* Polecenie uruchamia najnowszą dostępną wersję programu.
 +
* plik.tpr - plik z danymi wejściowymi
 +
* Parametry w nawiasach [ ] są opcjonalne.
 +
** -q kolejka (domyślnie parallel)
 +
** -n liczba_rdzeni (domyślnie 4)
 +
** -m ilosc_pamieci_na_rdzen_w_MB (domyślnie 1800)
 +
** -i "plik1 plik2 ..." (lista plików potrzebnych do obliczeń - w cudzysłowach)
 +
** -c plik_checkpoint (dodaje do wywołania mdrun opcję <code>-cpi plik_checkpoint</code>, plik checkpointu nie powinien być podany za -i)
 +
 
 +
Starsze wersje programu, jeśli są wspierane dostępne są przez przez skrypt z oznaczeniem wersji, np:
 +
> '''sub-gromacs4.5.3''' plik_wejsciowy.tpr [kolejka] [liczba_cpu] [pamiec_per_cpu_w_MB]
  
gdzie:
+
Gdzie:
 +
* Polecenie uruchamia wersję 4.5.3 programu.
 +
* plik_wejsciowy.tpr - plik z danymi wejściowymi
 
* Parametry w nawiasach [ ] są opcjonalne.
 
* Parametry w nawiasach [ ] są opcjonalne.
 
* Domyślne wartości:
 
* Domyślne wartości:
Linia 50: Linia 69:
 
  #!/bin/bash
 
  #!/bin/bash
 
  #PBS -q normal
 
  #PBS -q normal
  #PBS -l select=1:ncpus=4:mem=8096MB:mpiprocs=4:epoch=hp
+
  #PBS -l select=1:ncpus=4:mem=8096MB:mpiprocs=4
 +
#PBS -l software=Gromacs_4.5.3-s
 
  #PBS -N gmx_test1
 
  #PBS -N gmx_test1
 
   
 
   
 
  # Zaladuj modul gromacs
 
  # Zaladuj modul gromacs
 
  source /usr/local/Modules/3.2.7/init/bash
 
  source /usr/local/Modules/3.2.7/init/bash
  module load gromacs/4.5.3-d
+
  module load gromacs/4.5.3-s
 
   
 
   
 
  # Przejdz do katalogu domowego z plikami wejsciowymi zadania
 
  # Przejdz do katalogu domowego z plikami wejsciowymi zadania
Linia 82: Linia 102:
 
Wstawienie skryptu do kolejki:
 
Wstawienie skryptu do kolejki:
  
  supernova> qsub gmx.pbs
+
  > qsub gmx.pbs
  
  

Wersja z 14:23, 20 gru 2011

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

Gromacs
Gromacs.jpg
Serwer Wersja
Supernova 4.5.3 (single, double, seq, MPI)
4.5.5 (single, seq, MPI)
Kontakt
kdm@wcss.pl

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 Supernova dostępny jest

  • Gromacs 4.5.3
    • skompilowany kompilatorami Intela w wersji sekwencyjnej i równoległej z wykorzystaniem trybu float i double. Wszystkie wersje równoległe korzystają z bibliotek MPI (MVAPICH2) i sieci InfiniBand.
    • Programy znajdują się w katalogach (odpowiednio do wersji):
/usr/local/gromacs/4.5.3-double/     - wersja sekwencyjna podwójnej precyzji
/usr/local/gromacs/4.5.3-double-mpi/ - wersja równoległa podwójnej precyzji
/usr/local/gromacs/4.5.3-single/     - wersja sekwencyjna pojedynczej precyzji
/usr/local/gromacs/4.5.3-single-mpi/ - wersja równoległa pojedynczej precyzji
  • Gromacs 4.5.5
    • skompilowany kompilatorami Intela w wersji sekwencyjnej i równoległej z wykorzystaniem trybu float. Wersja równoległa korzysta z bibliotek MPI (MVAPICH2) i sieci InfiniBand.
    • Programy znajdują się w katalogu:
/usr/local/gromacs/4.5.5-single/
Środowisko aplikacji

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

Załadowanie modułu w powłoce:

> module load gromacs

Powyższe polecenie ustawia odpowiednie ścieżki dostępu do poleceń grompp i mdrun domyślnej (najnowszej) wersji pakietu Gromacs.

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

> module load gromacs/4.5.3-s
> module load gromacs/4.5.3-d
> module load gromacs/4.5.5-s
Wstawianie zadań do kolejki

Zadania obliczeniowe należy wstawiać do jednej z kolejek systemu PBS. Można w tym celu skorzystać z gotowego skryptu lub napisać własny. Aby skorzystać z gotowego skryptu wystarczy wywołać polecenie:

> sub-gromacs plik.tpr [kolejka] [parametry]

Gdzie:

  • Polecenie uruchamia najnowszą dostępną wersję programu.
  • plik.tpr - plik z danymi wejściowymi
  • Parametry w nawiasach [ ] są opcjonalne.
    • -q kolejka (domyślnie parallel)
    • -n liczba_rdzeni (domyślnie 4)
    • -m ilosc_pamieci_na_rdzen_w_MB (domyślnie 1800)
    • -i "plik1 plik2 ..." (lista plików potrzebnych do obliczeń - w cudzysłowach)
    • -c plik_checkpoint (dodaje do wywołania mdrun opcję -cpi plik_checkpoint, plik checkpointu nie powinien być podany za -i)

Starsze wersje programu, jeśli są wspierane dostępne są przez przez skrypt z oznaczeniem wersji, np:

> sub-gromacs4.5.3 plik_wejsciowy.tpr [kolejka] [liczba_cpu] [pamiec_per_cpu_w_MB]

Gdzie:

  • Polecenie uruchamia wersję 4.5.3 programu.
  • plik_wejsciowy.tpr - plik z danymi wejściowymi
  • Parametry w nawiasach [ ] są opcjonalne.
  • Domyślne wartości:
    • kolejka = parallel
    • liczba_cpu = 4
    • pamiec_per_cpu_w_MB = 1800


Przykładowy skrypt gmx.pbs

Użytkownik może również napisać własny skrypt i korzystać z niego do zlecania zadań do kolejki. Przykładowy skrypt znajduje się poniżej:

#!/bin/bash
#PBS -q normal
#PBS -l select=1:ncpus=4:mem=8096MB:mpiprocs=4
#PBS -l software=Gromacs_4.5.3-s
#PBS -N gmx_test1

# Zaladuj modul gromacs
source /usr/local/Modules/3.2.7/init/bash
module load gromacs/4.5.3-s

# 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ń środowiska 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:

> 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