• 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).

Lire plus

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.

Lire plus

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).

 

Lire plus

Contrôle des connaissances

Contrôle continu intégral

Lire plus

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.

Lire plus