Quand l'informatique utilise les mathématiques pour optimiser des programmes

Information importante

Cette actualité a été archivée. Les informations qui y figurent sont peut-être devenues obsolètes depuis sa publication. 

Date de publication : 14/03/14

ThèmesRecherche 

Dix huit ans après sa parution, l’une des publications scientifiques déterminantes dans la carrière du professeur Philippe Clauss est remise au goût du jour. Elle fait partie des 35 publications les plus citées parmi les 1800 présentées ces 25 dernières années lors de la prestigieuse « International Conference on Supercomputing », et figurera dans un ouvrage de célébration des 25 années d'existence de la conférence.
« En informatique, présenter ses travaux de recherche lors de conférences scientifiques est aussi important qu’une publication dans une revue en biologie ou en chimie, explique Philippe Clauss en guise d’introduction. En particulier, dans le cadre de la conférence internationale ICS, il s’agit dans un premier temps de soumettre un article présentant nos résultats de recherche et, si elle est retenue, nous sommes invités à venir le présenter devant la communauté scientifique lors du symposium annuel ». C’est ce que le chercheur a été amené à faire à Philadelphie en 1996. Depuis lors, ses résultats sont toujours utilisés et constamment cités en référence. « Cette publication m’a permis d’acquérir une crédibilité et de construire ma carrière dans le domaine qui s'appelle la compilation ». A l’époque, Philippe Clauss s’intéressait déjà à l’analyse et à l’optimisation de programmes informatiques et plus particulièrement dans ce domaine, à la question de la représentation des boucles de calcul sous forme géométrique, de polyèdres (polygones à plusieurs dimensions). « Le temps d’un programme est surtout pris dans les boucles de répétition, d’où l’idée d’essayer de les optimiser », explique le chercheur. L’idée novatrice à la fin des années 90 a été d’utiliser la géométrie pour analyser et transformer un programme informatique. La finalité : modéliser, donner une représentation spatiale à un programme informatique pour mieux le comprendre. « Une fois que l’on a retravaillé le polyèdre, on régénère un programme informatique plus rapide, qui consomme moins d’électricité, moins de mémoire vive, etc. ».

La géométrie pour transformer des programmes informatiques

Pour parvenir à résoudre différents blocages et notamment pouvoir anticiper le nombre de points entiers inclus dans les polyèdres générés, Philippe Clauss a fait appel aux mathématiques. « Les mathématiques apportent de vraies solutions aux problèmes informatiques. La démonstration mathématique permet de dire quand et pourquoi un programme fonctionne ». Il s’est alors attelé à des recherches bibliographiques à la bibliothèque de l’IRMA [à l’époque il n’y avait pas d’outils d’accès en ligne !] et c’est dans un ouvrage tapé à la machine datant des années 60 écrit par Eugène Ehrhart qu’il a trouvé la solution, dans ce que l’on nomme les polynômes d’Ehrhart !! « Aujourd’hui encore, je garde à l’esprit d’aller voir dans de vieux ouvrages, pour trouver des éléments de réponses ou de nouvelles manières d’aborder une problématique. La théorie développée sur papier ne dit jamais d’avance si elle sera la plus performante, économique en énergie… ».

Aujourd’hui, Philippe Clauss dirige l’équipe ICPS au sein d’ICube, seule équipe informatique impliquée dans un LabEx qui plus est de mathématiques (IRMIA) ! Son équipe apporte une véritable complémentarité car les simulations numériques sont très gourmandes en calcul et nécessitent donc toujours des optimisations.

Partenaires

Logo du CNRS
Logo Établissement associé de l'Université de Strasbourg
Logo du réseau Epicur
Logo de EUCOR, Le Campus européen
Logo de l'Inserm Grand Est
Logo de l'Inria

Labels

Logo du label Bienvenue en France
Logo du programme HRS4R
Logo du programme France 2030
Logo de Service Public+

Réseaux

Logo de France Universités
Logo de la Ligue européenne des universités de recherche (LERU)
Logo du réseau Udice
Logo de l'Université franco-allemande