Recherche

Les thèmes principaux de mes recherches sont le calcul parallèle et les systèmes dynamiques, continus ou discrets. J’ai également travaillé sur d’autres thèmes connexes et notamment les réseaux neuronaux en tant qu’interpolateurs universels pour le calcul numérique.

Équipe

J’effectue actuellement mes recherches au sein de l’équipe Simbiot du Loria. Mon objectif dans cette équipe est d’étudier les algorithmes parallèles et distribués pour effectuer des tâches complexes dans une flotte d’agents mobiles (drones, robots,…).

Avant de rejoindre cette équipe, j’ai été membre, dans ce même laboratoire, de l’équipe AlGorille.
Et avant de rejoindre le Loria, j’ai été membre de l’équipe AND du LIFC (actuellement équipe AND de l’institut Femto-st) à l’université de Franche-Comté.

Dernières recherches

Ces dernières années, j’ai orienté mes recherches principalement sur trois grands thèmes.

Le premier prolonge mes travaux sur l’asynchronisme dans les algorithmes itératifs parallèles et porte sur des schémas parallèles adaptés aux architectures matérielles hétérogènes (CPU, GPU, X-Phi,…). Il inclut des développements appliqués à des codes de simulation physique de grande ampleur, tels que la reconstruction de milieux hétérogènes par méthode inverse basée sur l’équation du transfert radiatif, ou encore la résolution des équations de Navier-Stokes via une formulation de Galerkin discontinue. Je travaille également au développement d’un simulateur de réseaux neuronaux biologiques (SiReNe).

Le second thème s’inscrit dans la continuité de mes précédents travaux sur les systèmes dynamiques discrets. Il porte sur la conception de générateurs de nombres pseudo-aléatoires vérifiant des propriétés de chaos ainsi qu’une robustesse statistique forte. Dans ce contexte, je m’intéresse particulièrement à la génération de chemins hamiltoniens dans le N-cube ainsi qu’à l’étude de leurs propriétés et de leur adéquation vis-à-vis de leur utilisation dans un PRNG.

Le troisième thème est directement lié aux travaux de l’équipe Simbiot et porte sur l’algorithmique collaborative pour réaliser des tâches complexes dans un ensemble de robots mobiles. Nous avons notamment développé un système de positionnement local indépendant de l’environnement et des systèmes globaux de type GPS.

Thèmes précédemment étudiés

Algorithmes itératifs parallèles

Ce premier thème de recherche porte sur la conception d’algorithmes de calcul numérique pour les réseaux de machines hétérogènes à grande échelle (grappes de calcul). Au niveau théorique, il met en jeu des réseaux d’automates à valeurs dans des espaces continus et évoluant dans le temps de manière synchrone ou asynchrone. Cette évolution temporelle permet de formuler ces réseaux sous la forme d’algorithmes itératifs parallèles. Dans ce cadre, j’ai étudié les stratégies possibles de calcul itératif parallèle à grande échelle pour la résolution de problèmes linéaires et non linéaires. Différents aspects essentiels ont été abordés tels que le mode opératoire, les conditions de convergence des algorithmes, la détection de convergence ou encore le couplage de différentes techniques d’optimisation du calcul parallèle telles que l’équilibrage de charge, le recouvrement calcul-communication et l’utilisation des GPUs. Enfin, nous avons également étudié les contextes (matériels, logiciels et applicatifs) dans lesquels ces algorithmes montrent un intérêt particulier par rapport aux méthodes classiques.

Systèmes dynamiques discrets

Ce second thème concerne l’étude théorique du comportement des réseaux d’automates à états finis et évoluant en temps discret. Ces réseaux présentent un intérêt pratique non négligeable puisqu’ils permettent de modéliser de nombreux systèmes complexes et en particulier les processus itératifs parallèles. Ils permettent donc une étude fondamentale de leur dynamique selon que les automates sont synchronisés entre eux ou non. Dans ce contexte, je me suis intéressé plus particulièrement au cas asynchrone qui présente certains avantages du point de vue des performances, notamment lors de l’utilisation dans un contexte de calcul à grande échelle. Cependant, ce mode de fonctionnement implique une dynamique différente du mode synchrone et peut, dans certains cas, ne pas converger. Il nécessite donc des conditions particulières pour assurer un comportement stable et satisfaisant. Dans ce cadre, j’ai étudié différentes caractéristiques de ces réseaux telles que les conditions de convergence vers les états stables, l’influence sur leur comportement de la présence de cycles dans le graphe de communication, ou encore, le mixage synchronisme-asynchronisme pour étendre la stabilité de leur comportement. Je me suis également intéressé à la conception de tels systèmes pour la résolution de problèmes spécifiques.

Réseaux neuronaux et calcul numérique

Suite aux travaux que j’ai effectué dans le cadre d’une collaboration avec l’équipe IRMA du CREST/FEMTO-ST à travers un projet portant sur la radiothérapie externe, j’ai eu une activité sur le thème des réseaux neuronaux utilisés dans le cadre du calcul scientifique. En effet, les réseaux neuronaux permettant d’approcher des fonctions aux formes complexes, nous avons montré dans nos précédents travaux l’intérêt du couplage d’un réseau neuronal avec un algorithme d’évaluation de dépôts de doses d’irradiation dans des milieux hétérogènes. Cette approche n’est pas restreinte à ce domaine particulier d’application et peut être utilisée dans de nombreux autres cas.