Turing : NAMD

Présentation

NAMD est un logiciel de dynamique moléculaire classique. Il permet des simulations haute performance de systèmes biomoléculaires de taille importante.

Disponibilité

Les versions disponibles sont :

  • 2.8
  • 2.9 (par défaut)
  • 2.10, parallélisation hybride

Le logiciel est disponible sur Turing en mode parallèle MPI ou hybride MPI/OpenMP.

Script de lancement

Voici un exemple de script de lancement pour un calcul exécuté en parallélisation hybride dans le WORKDIR :

job.ll
# @ job_name         = NAMD
# @ bg_size          = 64
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ queue
 
### Initialisation de Module ###
module load namd/2.10
 
### Echo des commandes ###
set -x
 
### Lancement du calcul ###
runjob --np 512 --ranks-per-node=8 --envs "OMP_NUM_THREADS=4" : $NAMD_EXEDIR/namd2 +ppn4 calcul.namd

Voici un exemple de script de lancement pour un calcul exécuté en parallélisation MPI dans le TMPDIR :

job.ll
# @ job_name         = NAMD
# @ bg_size          = 64
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ queue
 
### Initialisation de Module ###
module load namd/2.8
 
### Echo des commandes ###
set -x
 
### Copie vers le TMPDIR ###
cp ./* $TMPDIR
 
### Lancement du calcul ###
cd $TMPDIR
runjob --np 1024 --ranks-per-node 16 : $NAMD_EXEDIR/namd2 calcul.namd
 
### Copie vers le dossier de soumission ###
cd -
cp $TMPDIR/* .

La soumission se fait, en supposant que le fichier de soumission s'appelle job.ll, via la commande :

llsubmit job.ll

Paramètres propres au logiciel

Parallélisation hybride

NAMD est installé en parallélisation hybride depuis la version 2.10 à l'IDRIS. Afin de tirer un maximum partie des performances apportées par ce mode de parallélisation, il est nécessaire d'indiquer les options adaptées lors du lancement du calcul. A partir du premier exemple de script de lancement hybride ci-dessus, les options permettant d'activer ce mode sont :

  • --envs "OMP_NUM_THREADS=n : option de la commande runjob, qui permet d'indiquer au système l'utilisation de n threads OpenMP
  • +ppnX : option de NAMD, qui permet d'indiquer le nombre X de worker par processus MPI

La valeur de n correspond à la formule : n = 32 / ranks-per-node. La valeur de X doit être égale à la valeur de n. Attention, l'oubli de l'une ou l'autre de ces options entraîne une forte dégradation des performances.

Documentation