Ada : LAMMPS

Présentation

LAMMPS est un logiciel de dynamique moléculaire classique. Il permet de modéliser divers matériaux (métaux, semi-conducteurs, polymères, bio-molécules, etc.), ainsi que des systèmes mésoscopiques (de type coarse-grain).

Disponibilité

Ce logiciel ne présente pas de numéro de version. La date à laquelle la version a été diffusée est utilisée officiellement pour désigner celle-ci. La diffusion des nouvelles versions est parfois journalière, mais seules les versions dites “stables” sont installées sur nos machines. N'hésitez pas à contacter l'assistance de l'IDRIS si vous souhaitez une version en particulier.

Le logiciel est parallélisé avec MPI ou hybride MPI/OpenMP.

Les versions installées sont :

  • 10 October 2012 (MPI)
  • 01 February 2014 (version par défaut, MPI/OpenMP)

Script de lancement

Pour connaitre les différentes versions de LAMMPS installées :

module avail lammps

Pour charger la version par défaut :

module load lammps

Pour charger une version particulière, par exemple ici lammps/2014.02.01 :

module load lammps/2014.02.01

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

job.ll
# @ job_name         = LAMMPS
# @ job_type         = parallel
# @ output           = $(job_name).$(jobid)
# @ error            = $(output)
# @ wall_clock_limit = 1:00:00
# @ total_tasks      = 32
# @ parallel_threads = 4
# @ queue
 
### Initialisation de Module ###
module load lammps
 
### Echo des commandes ###
set -x
 
### Lancement du calcul ###
poe lmp -sf omp < in.indent

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

job.ll
# @ job_name         = LAMMPS
# @ job_type         = parallel
# @ output           = $(job_name).$(jobid)
# @ error            = $(output)
# @ wall_clock_limit = 1:00:00
# @ total_tasks      = 64
# @ queue
 
### Initialisation de Module ###
module load lammps/2012.10.10
 
### Echo des commandes ###
set -x
 
### Copie vers le TMPDIR ###
cp ./* $TMPDIR
 
### Lancement du calcul ###
cd $TMPDIR
poe lmp < in.indent
 
### Copie vers le dossier de soumission ###
cd -
cp $TMPDIR/* .

Paramètres propres au logiciel

A l'IDRIS, depuis la version 01 February 2014, LAMMPS est installé avec une parallélisation hybride MPI/OpenMP. Pour l'activer, sans modifier votre fichier d'entrée, il est nécessaire d'ajouter l'option -sf omp lors du lancement de LAMMPS, et de préciser le nombre de threads OpenMP dans les directives Loadleveler du script.

Cette installation active de nombreuses optimisations dans le code, même pour une utilisation en mode purement MPI (nombre de threads OpenMP = 1), où l'amélioration du temps de restitution peut aller jusqu'à 20%. Pour en bénéficier, il est néanmoins nécessaire d'ajouter l'option -sf omp au lancement. Du point de vue des performances, l'efficacité des threads OpenMP dépend fortement des zones de calcul appelées pour votre système, si bien qu'il est généralement plus efficace de n'utiliser que des tâches MPI (tout en conservant l'option -sf omp).

Documentation