Niveau d'étude
BAC +5
ECTS
5 crédits
Composante
Faculté des Sciences
Volume horaire
39h
Description
Ce module introduit à la pratique avancée de méthodes de simulation atomistique, et de la Dynamique Moléculaire en particulier.
Il comprend ainsi l’élargissement des méthodes déjà acquises, à la fois sur le plan de la Physique (simulations ab initio, théorie de la fonctionnelle de la densité) ainsi qu’au niveau de l’implémentation (optimisation, parallélisation) et de la mise en œuvre (initiation à la pratique des simulations dans un environnement de calcul haute performance).
Objectifs
Comprendre les enjeux de simulations de type ‘ab initio’, tels que leurs fondements théoriques et leurs domaines d’applications, ainsi que les approximations et simplifications adjacentes à leur mise en œuvre. Comprendre le fonctionnement d’algorithmes fortement optimisés (compilation, profilage, optimisation par le compilateur, notion de cache, vectorisation de boucles etc) ; comprendre le fonctionnement d’un code parallèle (MPI et/ou OpenMP), et en particulier savoir manipuler le code d’une simulation de type Dynamique Moléculaire dans le but d’optimiser ses performances, en mettant en oeuvre les notions de parallélisation enseignées. Notions de base sur l’utilisation d’approches de type Machine Learning dans les simulations atomistiques.
Pré-requis nécessaires
Connaissances en Physique Statistique ; Notions de Dynamique Moléculaire ; Connaissance d’un langage de Programmation ; Mécanique Quantique
Prérequis recommandés :
Connaissance d’un langage de programmation compilé (C, C++, Fortran).
Contrôle des connaissances
Contrôle continu intégral
Syllabus
Optimiser un code : analyse de performance d’un code compilé ; flags de compilation ; coût des opérations simples ; itération efficace sur des tableaux multidimensionnels ; optimisation du cache ; notions de complexité algorithmique ; bibliothèques de parallélisation (MPI vs. OpenMP) ; scalabilité de programmes parallèles; liste de voisins, identification des invariants.
Stratégies simples de parallélisation dans un code de dynamique moléculaire (décomposition atomique vs décomposition spatiale)
Notions introductives sur l’utilisation des approches de type Machine Learning pour les simulations atomistiques
Pratique de simulations atomistiques dans un environnement de calcul haute performance.
Introduction aux simulations ab initio: connaître la distinction entre les modélisations atomistiques classiques et ab-initio et les principes de base de la théorie de la fonctionnelle de la densité; savoir identifier les simplications et les approximations principales sous-jacentes à une simulation ab-initio et se familiariser avec un code ab initio.