You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Opis

GROMACS je računalno-kemijska aplikacija za molekulsku dinamiku (MD), a prvenstveno se koristi za simulacije makromolekula.

GROMACS se prvenstveno temelji na klasičnoj mehanici, što znači da koristi jednadžbe gibanja klasične mehanike za izračunavanje kretanja molekule i njihovih segmenata. MD simulacije mogu pružiti informacije o ponašanju i svojstvima molekula, poput njihovih konformacija, energija i interakcija s drugim molekulama.

GROMACS je aplikacija otvorenog koda, a podržava hibridnu paralelizaciju, MPI + OpenMP, kao i upotrebu grafičkih procesora koji značajno ubrzavaju MD izračune.

Verzije

CPU

verzijamodulparalelizacijauključuje PLUMED
2022.5scientific/gromacs/2022.5-gnuMPI + OpenMPv2.8.2
2023.1

scientific/gromacs/2023.1-gnu

MPI + OpenMPv2.9.0

GPU + CPU

verzijamodulparalelizacijauključuje PLUMED
2022.5

scientific/gromacs/2022.5-cuda

MPI + OpenMP-
2023.1

scientific/gromacs/2023.1-cuda

MPI + OpenMP-

Službena dokumentacija

Primjeri

Kad u zaglavlju PBS skripte definirate vrijednost varijable ncpus, u okolinu se automatski doprema ista vrijednost OMP_NUM_THREADS varijable.

CPU

MPI + OpenMP

Budući da aplikacija podržava hibridnu paralelizaciju, MPI procese možete podijeliti na OpenMP threadove.

GROMACS preporučuje između 2 i 8 threadova po MPI procesu.

U primjeru niže, aplikacija će stvoriti 8 MPI procesa, podijeljenih u 4 OpenMP threada

PBS skripta
#PBS -q cpu
#PBS -l select=8:ncpus=4

cd ${PBS_O_WORKDIR}

module load scientific/gromacs/2022.5-gnu

mpiexec -d ${OMP_NUM_THREADS} --cpu-bind depth gmx mdrun -pin on -v -deffnm md

MPI

Ako aplikaciju ne želite dijeliti u OpenMP threadove, možete koristiti paralelizaciju isključivo na razini MPI procesa.

U primjeru niže, aplikacija će pokrenuti 32 MPI procesa.

PBS skripta
#PBS -q cpu
#PBS -l select=32

cd ${PBS_O_WORKDIR}

module load scientific/gromacs/2022.5-gnu

mpiexec gmx mdrun -pin on -v -deffnm md

OpenMP

Ako aplikaciju želite dijeliti isključivo u OpenMP threadove, morate zatražiti jedan računalni čvor, budući da u ovom slučaju aplikacija radi s dijeljenom memorijom.

GROMACS će vrijednost OMP_NUM_THREADS dobiti po definiranju ncpus varijable u zaglavlju skripte.

U primjeru niže, aplikacija će se pokrenuti s 32 OpenMP threada.

Bash skripta
#PBS -q cpu
#PBS -l ncpus=32

cd ${PBS_O_WORKDIR}

module load scientific/gromacs/2022.5-gnu

gmx mdrun -pin on -v -deffnm md

GPU

Aplikacija podržava rad s grafičkim procesorom, odnosno rad s više grafičkih procesora.

GPU iskorištenje se u slučaju korištenja više grafičkih procesora kreće se do maksimalno 50% (kod korištenja 2 GPU-a) u većem broju testiranih primjera.

Iz tog razloga, razmotrite korištenje jednog grafičkog procesora i više procesorskih jezgri. GPU iskorištenje se u slučaju korištenja 1 GPU + 8 CPU kreće i do 85%.

Single GPU

U primjeru niže, aplikacija će koristiti jedan grafički procesor te osam procesorskih jezgara.

PBS skripta
#PBS -q gpu
#PBS -l select=1:ngpus=1:ncpus=8

cd ${PBS_O_WORKDIR}

module load scientific/gromacs/2022.5-cuda

gmx mdrun -pin on -v -deffnm md

Multi GPU

Prilikom pozivanja aplikacije s mpiexec, svaki MPI proces dodijeli se jednom grafičkom procesoru (putem varijable CUDA_VISIBLE_DEVICES), a svaka OpenMP nit (putem varijable OMP_NUM_THREADS) jednoj procesorskoj jezgri.

U primjeru niže, aplikacija će koristiti dva grafička procesora te po četiri procesorske jezgre za svaki grafički procesor.

PBS skripta
#PBS -q gpu
#PBS -l select=2:ngpus=1:ncpus=4

cd ${PBS_O_WORKDIR}

module load scientific/gromacs/2022.5-cuda

mpiexec -d ${OMP_NUM_THREADS} --cpu-bind depth gmx mdrun -pin on -v -deffnm md
  • No labels