Molecular Dynamics for Exascale Supercomputers

Preparing to load PDF file. please wait...

0 of 0
100%
Molecular Dynamics for Exascale Supercomputers

Transcript Of Molecular Dynamics for Exascale Supercomputers

Thèse présentée pour obtenir le grade de
Do eur de l’université de Bordeaux
École Do orale de Mathématiques et Informatique de Bordeaux Spécialité Informatique
Emmanuel Cieren
Molecular Dynamics for Exascale Supercomputers

Sous la dire ion de Raymond Namyst & Laurent Colombet

Thèse soutenue le  o obre  à la Maison de la Simulation

M. Calvin, Chri ophe M. Colombet, Laurent M. Coulaud, Olivier M. Desprez, Frédéric M. Germann, Timothy C. M. Namyst, Raymond M. Pérez, Chri ian

Jury

Chargé de recherche Chargé de recherche Dire eur de recherche Dire eur de recherche Research Scienti Professeur Dire eur de recherche

Cea Saclay Cea Dam-Île de France Inria Bordeaux Sud-Oue Inria Grenoble Rhône-Alpes Los Alamos National Laboratory Université de Bordeaux Inria Grenoble Rhône-Alpes

Examinateur Dire eur de thèse Examinateur Rapporteur Examinateur Dire eur de thèse Rapporteur

Commissariat à l’énergie atomique et aux énergies alternatives (Cea) Centre Dam-Île de France – Bruyères-le-Châtel,  Arpajon Cedex
Département de Physique Théorique et Appliquée + ()    

Molecular Dynamics for Exascale Supercomputers
Emmanuel Cieren  – 

À Marion et ma famille, qui ont eu la patience de me supporter dans cette épreuve . . .

Abstract
Molecular Dynamics for Exascale Supercomputers
In the exascale race, supercomputer architectures are evolving towards massively multicore nodes with hierarchical memory structures and equipped with larger vectorization registers. These trends tend to make Mpi-only applications less effective, and now require programmers to explicitly manage low-level elements to get decent performance.
In the context of Molecular Dynamics (Md) applied to condensed matter physics, the need for a better understanding of materials behaviour under extreme conditions involves simulations of ever larger systems, on tens of thousands of cores. This will put molecular dynamics codes among software that are very likely to meet serious difficulties when it comes to fully exploit the performance of next generation processors.
This thesis proposes the design and implementation of a high-performance, flexible and scalable framework dedicated to the simulation of large scale Md systems on future supercomputers. We managed to separate numerical modules from different expressions of parallelism, allowing developers not to care about optimizations and still obtain high levels of performance. Our architecture is organized in three levels of parallelism: domain decomposition using Mpi, thread parallelization within each domain, and explicit vectorization. We also included a dynamic load balancing capability in order to equally share the workload among domains.
Results on simple tests show excellent sequential performance and a quasi linear speedup on several thousands of cores on various architectures. When applied to production simulations, we report an acceleration up to a factor  compared to the code previously used by Cea’s researchers.
Keywords: molecular dynamics, Hpc, manycore, Mpi, threads, Tbb, vectorization, load-balancing, Intel® Xeon Phi™, C++, OpenCl.
v

Résumé
La dynamique moléculaire pour les machines exascale
Dans la course vers l’exascale, les architectures des supercalculateurs évoluent vers des nœuds massivement multicœurs, sur lesquels les accès mémoire sont non-uniformes et les registres de vectorisation toujours plus grands. Ces évolutions entraînent une baisse de l’efficacité des applications homogènes (Mpi simple), et imposent aux développeurs l’utilisation de fonctionnalités de bas-niveau afin d’obtenir de bonnes performances.
Dans le contexte de la dynamique moléculaire (Dm) appliquée à la physique de la matière condensée, les études du comportement des matériaux dans des conditions extrêmes requièrent la simulation de systèmes toujours plus grands avec une physique de plus en plus complexe. L’adaptation des codes de Dm aux architectures exaflopiques est donc un enjeu essentiel.
Cette thèse propose la conception et l’implémentation d’une plateforme dédiée à la simulation de très grands systèmes de Dm sur les futurs supercalculateurs. Notre architecture s’organise autour de trois niveaux de parallélisme: décomposition de domaine avec Mpi, du multithreading massif sur chaque domaine et un système de vectorisation explicite. Nous avons également inclus une capacité d’équilibrage dynamique de charge de calcul. La conception orienté objet a été particulièrement étudiée afin de préserver un niveau de programmation utilisable par des physiciens sans altérer les performances.
Les premiers résultats montrent d’excellentes performances séquentielles, ainsi qu’une accélération quasi-linéaire sur plusieurs dizaines de milliers de cœurs. En production, nous constatons une accélération jusqu’à un facteur  par rapport au code utilisé actuellement par les chercheurs du Cea.
Mots-clés: dynamique moléculaire, Hpc, architectures multi-cœurs, Mpi, threads, Tbb, vectorisation, équilibrage de charge, C++, Intel® Xeon Phi™, OpenCl.
vii
DynamicsEurMpiPerformanceDynamique Moléculaire