Simulations RMN sur réseau : CPU ou GPU

Transcription

Simulations RMN sur réseau : CPU ou GPU
Propositiondestage−
−Niveau:Master−
−2015-2016
Structure d'accueil : Laboratoire Kastler Brossel - UMR8552
Responsables du stage : Pierre-Jean NACHER et Geneviève TASTEVIN
Contacts : [email protected] ; [email protected]
Téléphone : 01 4432 3428 et 2025
Page web : http://www.lkb.ens.fr/-Helium-polarise-et-fluides
Lieu : LKB - 24 rue Lhomond 75005 Paris - Pièce L164
Co-encadrement : Emmanuel Baudin, Laboratoire Pierre Aigrain ; [email protected]
Simulations RMN sur réseau : CPU ou GPU ?
Contexte - En résonance magnétique nucléaire (RMN) conventionnelle, l’influence des effets
collectifs est légitimement négligée et l’évolution de l’aimantation locale est décrite par une simple
B0(r)
équation de Bloch [1] qui régit la précession de l’aimantation dans le champ
magnétique appliqué. Cette approche se révèle inappropriée dans un milieu
m’(t)
m(t)
fortement aimanté, où les interactions dipolaires magnétiques apportent une
r’
θ ˆ
k
contribution non linéaire et non locale à l’équation de Bloch et induisent, par
r dBdip(r,r ’)
exemple, l’apparition d’instabilités de précession. Un certain nombre de
phénomènes nouveaux associés à l’évolution non linéaire de l’aimantation nucléaire dans les liquides
très polarisés ont été décrits au cours de la dernière décennie [2]. Dans la plupart des cas ils résultent
de l’influence combinée de ces interactions dipolaires magnétiques et du couplage non linéaire
supplémentaire entre l’aimantation nucléaire et la bobine de détection.
L’équipe « hélium polarisé » du LKB [3] mène des études expérimentales variées en RMN nonlinéaire avec de l’He3 polarisé (dissous dans l’He4 liquide à 1K), à bas champ (∼1mT) et en faisant
varier à volonté le couplage à la détection. Elle a développé et utilise systématiquement des
simulations numériques pour guider et interpréter les expériences.
Ces simulations utilisent des programmes compilés pour calculer
exactement l’évolution de moment magnétiques discrets sur un réseau cubique
(3D) en intégrant les équations de Bloch de façon très standard. Le calcul de la
contribution des couplages magnétiques est considérablement allégé par un
passage dans l’espace réciproque (avec conditions aux limites périodiques) [4].
Sont pris en compte : les champs appliqués, statiques ou résonnants, uniformes ou variant
spatialement, y compris pour le cas de séquences complexes ; les couplages non-linéaires
(magnétiques et avec le circuit de détection) ; la diffusion atomique (la géométrie de l’échantillon
peut assez librement varier).
Les simulations produisent des séries de cartes d’aimantation, utiles pour
extraire des données globales comparables aux mesures expérimentales mais aussi
pour comprendre et illustrer les structures spatiales qui s’auto-organisent dans les
échantillons. Les codes sont actuellement exécutés sur PC, et pour quelques millions
de spins (107 sites, 1Go de mémoire), le temps de calcul est de l’ordre d’une heure
par seconde d’évolution.
Compte tenu des besoins en résolution spatiale de certaines applications, nous souhaitons
évaluer le gain potentiel qu’apporterait un calcul hautement parallèle, en particulier avec
l’utilisation de la puissance des GPU. En outre, certaines modifications des algorithmes de calcul
pourraient être envisagées pour alléger les calculs dans certains cas simples (couplages dipolaires
faibles, par exemple) ou pour quantifier les erreurs introduites par l’utilisation artificielle de conditions
aux limites périodiques.
Le projet proposé consisterait donc à mener de front et de façon concertée des développements
de codes tournant sur machines conventionnelles (architecture CPU) ou utilisant une carte graphique
(par exemple via CUDA pour NVIDIA). Les chercheurs du département de physique fourniront comme
point de départ possible les codes existants, les données détaillées du problème posé, et des
exemples d’applications à divers domaines de RMN et d’IRM (qui contraignent différemment les
simulations à effectuer).
Dans un premier temps, la mise en œuvre de calcul parallèle sera la plus simple possible et
concernera uniquement des parties élémentaires du code complet de simulation RMN (calcul du
champ dipolaire par FFT, ou calcul de la diffusion atomique, par exemple). L'évaluation des
performances (benchmarking) se fera initialement sur PC (CPU i7 versus GPU GTX) au sein du
laboratoire.
Dans un second temps, l'adaptation des codes de simulation complets sera envisagée et des
tests d'évaluation pourront être réalisés sur des systèmes plus puissants, dans la perspective d'une
évolution vers un traitement hautement parallèle.
Du point de vue des utilisateurs, les retombées attendues de cette étude sont :
- une conclusion nette sur l’approche et l’architecture la plus efficace (CPU, cluster, ou GPU) pour
résoudre sur réseau divers problèmes concrets, suivant l’origine physique de la complexité du
problème ;
- une famille de codes permettant la simulation, mais aussi le traitement et la visualisation des
résultats de simulations menées avec diverses architectures matérielles.
Profil recherché :
Le ou les étudiant(s) impliqué(s) dans ce projet apporteront leurs compétences théorique et
pratique en informatique et en programmation.
Les prérequis incluent la maitrise du langage C et une bonne connaissance des outils de
développement adaptés aux systèmes multiprocesseurs ou multi-cœurs, et/ou une expérience de
l'architecture de traitement parallèle CUDA.
Des notions de traitement des données et de visualisation 3D seront appréciables.
[1] m( , )/ =
( , ) × ( , ) pour l’aimantation et le champ .
Voir par exemple : https://en.wikipedia.org/wiki/Bloch_equations
[2] Desvaux H., Prog. NMR Spectr. 70 (2013) 50: Non-linear liquid-state NMR
[3] http://www.lkb.ens.fr/-RMN-dans-l-3He-liquide[4] Enss T., Ahn S., Warren W.S., Chem. Phys. Lett. 305 (1999) 101: Visualizing the dipolar field in solution NMR
and MR imaging: three-dimensional structure simulations
2