Ensemble De Données De Référence De Dynamique Moléculaire LAMMPS-Bench
Date
Publish URL
Paper URL
License
GPL
L'ensemble de données de référence LAMMPS est utilisé pour tester et comparer les performances de LAMMPS (logiciel de simulation de dynamique moléculaire) sur différents matériels ou configurations.
Ces jeux de données ne sont pas des données expérimentales scientifiques, mais servent à évaluer les performances de calcul (vitesse, mise à l'échelle, efficacité). Ils contiennent des architectures spécifiques, des fichiers de champs de force, des scripts d'entrée, des coordonnées atomiques initiales, etc., et sont fournis officiellement par LAMMPS dans le dossier bench/.
Les résultats pertinents de l'article sontLAMMPS – un outil de simulation flexible pour la modélisation de matériaux à base de particules aux échelles atomique, méso et continue", publié en 2022 par Sandia National Laboratories en collaboration avec la Michigan State University, la Temple University et d'autres institutions.
Cet ensemble de données contient 5 problèmes de référence, qui sont répertoriés dans la section Benchmark de la documentation LAMMPS et la page Benchmark du site Web officiel de LAMMPS (https://www.lammps.org/bench.html) sont discutés dans .
Cet ensemble de données contient également un sous-répertoire :
POTENTIELS : Scripts d'analyse comparative pour différents potentiels dans LAMMPS
Les résultats de tous ces benchmarks sont présentés et discutés sur la page Benchmark du site Web LAMMPS :https://www.lammps.org/bench.html
La suite de cette introduction décrit les cinq problèmes de benchmark inclus dans le jeu de données et leur exécution sur un processeur (en série ou en parallèle). Les sous-répertoires contiennent leurs fichiers README respectifs, à lire avant d'exécuter ces scripts.
Voici 5 questions de référence :
LJ = fluide atomique, utilisant le potentiel de Lennard-Jones avec un rayon de coupure de 2,5 σ (environ 55 voisins par atome), intégré dans le temps dans l'ensemble NVE.
Chaîne = polymère fondu à billes et ressort composé de 100 monomères, utilisant des liaisons FENE et des interactions de paires de Lennard-Jones avec un rayon de coupure de 2^(1/6) σ (environ 5 voisins par atome), intégré dans le temps dans l'ensemble NVE.
EAM = solide métallique, utilisant le potentiel atomique intégré (potentiel EAM) du cuivre (Cu) avec un rayon de coupure de 4,95 Å (environ 45 voisins par atome), intégré dans le temps dans l'ensemble NVE.
Chute = écoulement de chute granulaire, utilisant une fonction potentielle avec un terme d'historique de frottement et un rayon de coupure de 1,1σ (environ 7 voisins par atome), intégré dans le temps dans l'ensemble NVE.
Rhodo = rhodopsine dans une bicouche lipidique solvatée, en utilisant le champ de force CHARMM avec un rayon de coupure LJ de 10 Å (environ 440 voisins par atome). Les interactions coulombiennes à longue portée ont été calculées à l'aide de la méthode particule-particule/réseau de particules (PPPM) et de l'intégration temporelle dans l'ensemble NPT.
Chacun des cinq problèmes contient 32 000 atomes et s'exécute sur 100 pas de temps. Chaque test peut être exécuté en série (monoprocesseur) ou en parallèle. En mode parallèle, chaque test peut être exécuté comme un problème à taille fixe ou à taille échelonnée. Pour les tests à taille fixe, le même système de 32 000 atomes est exécuté sur un nombre différent de processeurs. Pour les tests à taille échelonnée, la taille du système s'adapte au nombre de processeurs. Par exemple, un système de 256 000 atomes fonctionne sur 8 processeurs ; un système de 32 millions d'atomes fonctionne sur 1 024 processeurs ; et ainsi de suite.
Cet ensemble de données comprend des exemples de fichiers journaux d'exécution sur différentes machines et avec différents nombres de processeurs, que vous pouvez utiliser pour comparer vos résultats. Par exemple, le fichier journal log.date.chain.lmp.scaled.foo.P représente une version mise à l'échelle du benchmark Chain exécuté sur la machine « foo » avec P processeurs, en utilisant la version LAMMPS identifiée par la date. Notez que les benchmarks Eam et Lj peuvent ne pas donner exactement les mêmes résultats sur différentes machines, car l'option « velocity loop geom » attribue des vitesses basées sur des coordonnées atomiques ; consultez la documentation de la commande velocity pour plus de détails.
Le temps CPU (en secondes) de l'exécution est affiché dans la ligne « Temps de boucle » du fichier journal, par exemple :
Temps de boucle de 3,89418 sur 8 procs pour 100 étapes avec 32000 atomes
Les résultats de synchronisation pour ces problèmes sur diverses machines peuvent être trouvés sur la page Benchmark du site Web LAMMPS.
Voici comment exécuter chaque problème, en supposant que l'exécutable LAMMPS s'appelle lmp_mpi :
Et utilisez la commande mpirun pour démarrer l’exécution parallèle :
Fonctionnement en série (processeur unique) :
lmp_mpi -dans in.lj
lmp_mpi -in dans.chain
lmp_mpi -in dans.eam
lmp_mpi -in dans.chute
lmp_mpi -dans in.rhodo
Exécutions parallèles de taille fixe (8 processeurs dans cet exemple) :
mpirun -np 8 lmp_mpi -in in.lj
mpirun -np 8 lmp_mpi -in in.chain
mpirun -np 8 lmp_mpi -in in.eam
mpirun -np 8 lmp_mpi -in in.chute
mpirun -np 8 lmp_mpi -in in.rhodo
Fonctionnement évolutif parallèle (16 processeurs dans cet exemple) :
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.lj
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.chain.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.eam
mpirun -np 16 lmp_mpi -var x 4 -var y 4 -in in.chute.scaled
mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.rhodo.scaled
Pour le fonctionnement de la goulotte, Pz = 1 est requis.
Donc P = Px * Py, définissez simplement les variables x et y.
Build AI with AI
From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.