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