Gromacs: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
 
(Nie pokazano 18 wersji utworzonych przez 6 użytkowników)
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)|wersja2=4.5.5 (single, seq, MPI)}}
+
{{aplikacja|nazwa=Gromacs|logo=[[Plik:gromacs-logo.gif|240px]]|serwer=[[Bem]]| wersja4=2018.4 |wersja3=5.1.1 |wersja2='''5.0.4''' |wersja=4.6.7 }}
'''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''' (GROningen MAchine for Chemical Simulations)  - 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 ==
 
== Licencja ==
 
Pakiet jest darmowy, rozpowszechniany na licencji [http://www.gnu.org/licenses/licenses.html#GPL GNU GPL].  
 
Pakiet jest darmowy, rozpowszechniany na licencji [http://www.gnu.org/licenses/licenses.html#GPL GNU GPL].  
 
+
=== Informacje o wykorzystaniu ===
 +
{{Podziękowanie_WCSS}}
  
 
== Gromacs w WCSS ==
 
== Gromacs w WCSS ==
Gromacs umożliwia obliczenia równoległe przy użyciu standardowych bibliotek [[MPI]].
+
==== Wstawianie zadań do kolejki ====
 
 
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ń <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ń:
 
> 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 [[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:
  
  > '''sub-gromacs''' plik.tpr [kolejka] [parametry]
+
  > '''sub-gromacs''' plik.tpr [parametry]
  
 
Gdzie:
 
Gdzie:
Linia 45: Linia 18:
 
* plik.tpr - plik z danymi wejściowymi  
 
* plik.tpr - plik z danymi wejściowymi  
 
* Parametry w nawiasach [ ] są opcjonalne.
 
* Parametry w nawiasach [ ] są opcjonalne.
** -q kolejka (domyślnie parallel)
+
** -q kolejka (domyślnie normal)
** -n liczba_rdzeni (domyślnie 4)
+
** -n liczba_węzłów (domyślnie 1)
** -m ilosc_pamieci_na_rdzen_w_MB (domyślnie 1800)
+
** -n liczba_rdzeni_na_węzeł (domyślnie 4)
 +
** -m ilosc_pamieci_na_węzeł_w_MB (domyślnie 7200)
 
** -i "plik1 plik2 ..." (lista plików potrzebnych do obliczeń - w cudzysłowach)
 
** -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)
 
** -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:
+
Starsze wersje programu, jeśli są wspierane dostępne są przez skrypt z oznaczeniem wersji, np:
  > '''sub-gromacs4.5.3''' plik_wejsciowy.tpr [kolejka] [liczba_cpu] [pamiec_per_cpu_w_MB]
+
  > '''sub-gromacs4.5.3''' plik_wejsciowy.tpr [parametry]
  
 
Gdzie:
 
Gdzie:
 
* Polecenie uruchamia wersję 4.5.3 programu.
 
* Polecenie uruchamia wersję 4.5.3 programu.
 
* plik_wejsciowy.tpr - plik z danymi wejściowymi  
 
* plik_wejsciowy.tpr - plik z danymi wejściowymi  
* Parametry w nawiasach [ ] są opcjonalne.
+
* Parametry w nawiasie [ ] są opcjonalne.
* Domyślne wartości:
+
** -q kolejka (domyślnie normal)
*kolejka             = parallel
+
** -n liczba_rdzeni (domyślnie 4)
**   liczba_cpu          = 4
+
** -m ilosc_pamieci_na_rdzen_w_MB (domyślnie 1800)
**   pamiec_per_cpu_w_MB = 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)
 +
 
  
 +
Skrypty do obliczeń, przygotowane przez administratorów, są dostępne dla wersji 4.0.7 (single), 4.5.3 (single), 4.5.5 (single, double), 4.6.3 (single) oraz 5.0.2 (single).
  
;Przykładowy skrypt 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>-ntomp <liczba wątków></code>". Zatem aby wykonać obliczenia z ustaloną liczbą wątków należy uruchmić zadanie interaktywne
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:
+
> qsub -I -l select=1:ncpus=N
 +
:i skorzystać z polecenia
 +
> mdrun -ntomp N -ntmpi 1 -deffnm plik
 +
:gdzie plik to nazwa pliku z rozszerzeniem .tpr
  
#!/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
 
  
+
==== Środowisko aplikacji ====
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ą <code>MDRUN</code>, która w przypadku zadań równoległych zawiera polecenia uruchamiające środowisko MPI.  
+
Do prostego ustawiania środowiska programu można skorzystać z mechanizmu modułów.
  
Wstawienie skryptu do kolejki:
+
Załadowanie modułu w powłoce:
 +
> module load gromacs
  
> qsub gmx.pbs
+
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 odpowiedniego polecenia, np:
 +
> module load gromacs/4.6.7-intel15.0
 +
> module load gromacs/5.0.4-intel15.0
 +
> module load gromacs/5.1.1-intel15.0
  
;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:
+
W celu sprawdzenia jakie moduły są dostępne należy skorzystać z polecenia
   
+
  > module avail gromacs
: -------------------------------------------------------
 
: 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 ==
 
== Dokumentacja ==
*[http://www.gromacs.org/ Strona domowa pakietu Gromacs]
+
* [http://www.gromacs.org/ Strona domowa pakietu Gromacs]
*[http://www.gromacs.org/content/view/13/27/ Dokumentacja on-line]
+
* [http://www.gromacs.org/content/view/13/27/ Dokumentacja on-line]
 
+
* [http://www.staff.amu.edu.pl/~chemfiz/pliki/Gromacs.pdf Magda Flader: Wprowadzenie do GROMACS'a]
  
 
'''Zobacz też:''' [[Oprogramowanie KDM]]
 
'''Zobacz też:''' [[Oprogramowanie KDM]]

Aktualna wersja na dzień 10:56, 20 lis 2018

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

Gromacs
gromacs-logo.gif
Serwer Wersja
Bem 4.6.7
5.0.4
5.1.1
2018.4
Kontakt
kdm@wcss.pl

Gromacs (GROningen MAchine for Chemical Simulations) - 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.

Informacje o wykorzystaniu

Wszelkie publikacje, (w tym prace doktorskie i dyplomowe) wykorzystujące wyniki obliczeń wykonanych na komputerach WCSS, powinny zawierać podziękowania postaci (odpowiednio do języka publikacji):

"Obliczenia wykonano na komputerach Wrocławskiego Centrum Sieciowo-Superkomputerowego (http://www.wcss.pl), grant obliczeniowy Nr ... "

"Calculations have been carried out in Wroclaw Centre for Networking and Supercomputing (http://www.wcss.pl), grant No. ..."

Gromacs w WCSS

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 [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 normal)
    • -n liczba_węzłów (domyślnie 1)
    • -n liczba_rdzeni_na_węzeł (domyślnie 4)
    • -m ilosc_pamieci_na_węzeł_w_MB (domyślnie 7200)
    • -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 skrypt z oznaczeniem wersji, np:

> sub-gromacs4.5.3 plik_wejsciowy.tpr [parametry]

Gdzie:

  • Polecenie uruchamia wersję 4.5.3 programu.
  • plik_wejsciowy.tpr - plik z danymi wejściowymi
  • Parametry w nawiasie [ ] są opcjonalne.
    • -q kolejka (domyślnie normal)
    • -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)


Skrypty do obliczeń, przygotowane przez administratorów, są dostępne dla wersji 4.0.7 (single), 4.5.3 (single), 4.5.5 (single, double), 4.6.3 (single) oraz 5.0.2 (single).

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ą "-ntomp <liczba wątków>". Zatem aby wykonać obliczenia z ustaloną liczbą wątków należy uruchmić zadanie interaktywne
> qsub -I -l select=1:ncpus=N
i skorzystać z polecenia
> mdrun -ntomp N -ntmpi 1 -deffnm plik
gdzie plik to nazwa pliku z rozszerzeniem .tpr


Ś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 odpowiedniego polecenia, np:

> module load gromacs/4.6.7-intel15.0
> module load gromacs/5.0.4-intel15.0
> module load gromacs/5.1.1-intel15.0

W celu sprawdzenia jakie moduły są dostępne należy skorzystać z polecenia

> module avail gromacs

Dokumentacja

Zobacz też: Oprogramowanie KDM