



La méthode Monte Carlo est employée en physique des réacteurs pour obtenir des distributions de flux dites de référence. Le code TRIPOLI-5, actuellement en cours développement au CEA est une application basée sur cette méthode. Avec l’arrivée des futures machines avec une architecture matérielle accélérée (CPU+GPU) comme la machine exaflopique Alice Recoque, il est essentiel de revoir certains aspects de ces codes pour tirer partie du matériel. Dans le cadre de TRIPOLI-5, des travaux précédents ont permis de
déporter le calcul de l’élargissement Doppler des sections efficaces à la température du matériau sur GPU. Néanmoins, le transport lui-même reste sur CPU. 
Dans cette proposition de travaux exploratoires, nous proposons de développer une maquette d’un code Monte Carlo simplifié basé sur du transport sur GPU. Ceci demandera notamment de changer l’algorithme : en effet actuellement, l’algorithme est dit « history-based » où l’on s’intéresse à la vie d’une particule de sa naissance à sa disparition. Afin d’exposer plus de parallélisme, il est opportun d’employer un algorithme « event-based », où l’on s’intéresse à un même type d’évènement dans l’histoire d’un ensemble de particules. Le changement d’algorithme nécessite de reconcevoir un code et disposer d’une maquette est
primordial pour mener des recherches et des expérimentations sur l’architecture informatique.
Le but de ce projet est d’identifier des technologies logicielles utiles pour l’adaptation des codes de transport Monte-Carlo aux machines exaflopique. En particulier, on s’intéresse à l’écosystème de la bibliothèque multi-plateforme Kokkos. On se basera sur les bibliothèques opensource ArborX et Cabana. ArborX fournit des primitives de recherche géométrique optimisées pour GPU et Cabana propose des structures de données adaptées aux systèmes particulaires.

