|
| 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