Skip to content

Commit 79d05c4

Browse files
authored
Merge pull request #47 from SulaimanMohammad/main
main
2 parents 526c33a + 3e961ee commit 79d05c4

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: La dynamique moléculaire
3+
sidebar_position: 12
4+
---
5+
6+
Les modules disponibles sont:
7+
- LAMMPS
8+
- GROMACS
9+
- AMBER
10+
11+
## LAMMPS
12+
LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) est un logiciel de dynamique moléculaire hautement parallélisé, conçu pour simuler des systèmes atomiques, moléculaires ou mésoscopiques. Il est particulièrement utilisé pour la modélisation des matériaux, des polymères, des métaux et des fluides complexes.
13+
14+
« Il y a deux modules disponibles : l’un avec GNU-CUDA et l’autre avec le support de Kokkos. »
15+
16+
```
17+
#!/bin/bash
18+
#SBATCH -J lammps-run
19+
#SBATCH -N 1
20+
#SBATCH -n 2
21+
#SBATCH --gres=gpu:2
22+
#SBATCH --cpus-per-task=1
23+
24+
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
25+
export OMP_PROC_BIND=close
26+
```
27+
#### Kokkos GPU-MPI
28+
29+
```
30+
module purge
31+
module load lammps/lammps_kakos
32+
mpirun -np ${ntasks} --mca pml ucx -x UCX_NET_DEVICES=all --map-by ppr:80:node:PE=$SLURM_CPUS_PER_TASK --bind-to core lmp -k on g 2 -sf kk -pk kokkos -in in.file
33+
34+
```
35+
36+
#### GNU-CUDA
37+
```
38+
module purge
39+
module load lammps/lammps_gnu_cuda
40+
```
41+
Il existe plusieurs façons d’exécuter le programme ; vous pouvez en choisir une parmi les suivantes
42+
```
43+
# MPI
44+
mpirun -np $SLURM_NTASKS --mca pml ucx -x UCX_NET_DEVICES=all --map-by ppr:80:node:PE=$SLURM_CPUS_PER_TASK --bind-to core lmp -in in.file
45+
```
46+
```
47+
# MPI OMP (lmp -sf omp )
48+
mpirun -np $SLURM_NTASKS --mca pml ucx -x UCX_NET_DEVICES=all --map-by ppr:80:node:PE=$SLURM_CPUS_PER_TASK --bind-to core lmp -sf omp -in in.file
49+
```
50+
```
51+
# GPU cuda (lmp -sf gpu )
52+
export CUDA_VISIBLE_DEVIES=0,1
53+
mpirun -np $SLURM_NTASKS --mca pml ucx -x UCX_NET_DEVICES=all --map-by ppr:80:node:PE=$SLURM_CPUS_PER_TASK --bind-to core lmp -sf gpu -in in.file
54+
```
55+
56+
57+
## GROMACS
58+
GROMACS est un logiciel open source spécialisé dans la dynamique moléculaire, principalement utilisé pour l’étude des biomolécules comme les protéines, les lipides et les acides nucléiques. Il est reconnu pour sa rapidité et son efficacité sur les architectures parallèles, notamment les GPU.
59+
60+
```
61+
#!/bin/bash
62+
#SBATCH --job-name=gmx_mpi_gpu
63+
#SBATCH --nodes=1
64+
#SBATCH --ntasks-per-node=16
65+
#SBATCH --gres=gpu:2
66+
#SBATCH --cpus-per-task=4
67+
#SBATCH --time=00:30:00
68+
#SBATCH --partition=small
69+
#SBATCH -o gmx_%j.out
70+
#SBATCH -e gmx_%j.err
71+
72+
# Chargement des modules
73+
module purge
74+
module load gromacs/2024.6
75+
76+
source $GMXRC
77+
78+
# Commande MPI explicite
79+
mpirun -np $SLURM_NTASKS \
80+
--hostfile hosts.txt \
81+
--map-by ppr:$SLURM_NTASKS:node:PE=$SLURM_CPUS_PER_TASK \
82+
--bind-to core \
83+
gmx_mpi mdrun \
84+
-s benchPEP.tpr \
85+
-deffnm benchPEP \
86+
-ntomp $SLURM_CPUS_PER_TASK \
87+
-nb gpu \
88+
-pin on -v
89+
```
90+
:::danger Important
91+
N'oubliez pas `source $GMXRC`
92+
:::
93+
94+
:::tip Note
95+
Si vous lancez un calcul sans `mpirun`, et que vous ne définissez pas `--cpus-per-task` ou `OMP_NUM_THREADS`, le programme utilisera alors 80 threads
96+
:::
97+
98+
## AMBER
99+
AMBER (Assisted Model Building with Energy Refinement) est un ensemble de programmes destinés à la simulation de biomolécules par dynamique moléculaire. Il repose sur des champs de force précis et est couramment employé en chimie computationnelle et en biophysique pour l’étude des interactions et de la stabilité des systèmes biologiques.
100+
101+
```
102+
103+
#!/bin/bash
104+
#SBATCH -N 1
105+
#SBATCH -n 2
106+
#SBATCH --gres=gpu:2
107+
#SBATCH -p small
108+
#SBATCH --ntasks-per-node=2
109+
110+
module purge
111+
module load amber/gnu/25
112+
source $AMBERSH
113+
114+
mpirun -n 2 pmemd.cuda_SPFP.MPI -O -i mdin5 -o overall_output.out -p sys.prmtop -c sys4.rst -inf mdinfo5 -x sys4rot5.mdcrd
115+
116+
```
117+
:::danger Important
118+
N'oubliez pas `source $AMBERSH`
119+
:::

0 commit comments

Comments
 (0)