L’Union européenne et IBM Research proposent un compilateur open source « intelligent »

Développement de grande envergure, ce compilateur qui fait appel à l’intelligence artificielle, est coordonné par l’INRIA.

MILEPOST (Machine Learning for Embedded Programs Optimisation) est un projet européen ambitieux qui vise à fournir des technologies permettant d’optimiser automatiquement le code compilé pour les processeurs reconfigurables… ou tout simplement pour les nouvelles architectures.

Il s’appuie essentiellement sur des méthodes issues de l’intelligence artificielle. Des partenaires prestigieux participent à ce projet, comme l’INRIA, l’Université d’Edimbourg ou encore les équipes d’IBM Research.

MILEPOST GCC 4.4.0 est maintenant disponible. Ce projet open source permet de transformer le compilateur GCC en un véritable outil capable d’optimiser automatiquement le code, et ce, quelle que soit l’architecture cible. À cet effet, il s’appuie sur ICI 2.0 (Interactive Compilation Interface) qui permet d’accéder aux techniques internes d’optimisation du GCC et de les modifier. ICI va puiser dans la vaste base de connaissances du Collective Tuning Center (un autre projet du programme MILEPOST).

Des tests effectués par IBM Research montrent que ce produit permet déjà d’améliorer de 18 % les performances de certains systèmes embarqués. « Notre technologie apprend automatiquement comment tirer les meilleures performances du matériel – qu’il s’agisse de téléphones mobiles, d’ordinateurs de bureau, ou de systèmes entiers. Les logiciels fonctionnent ainsi plus rapidement et induisent une consommation énergétique plus faible », souligne le Dr Bilha Mendelson, directeur des technologies d’optimisation du code chez IBM Research à Haïfa (Israël).

« Nous avons modifié le compilateur afin qu’il puisse accéder aux technologies d’intelligence artificielle et d’apprentissage. Il peut ainsi déterminer exactement quelles sont les optimisations qui devraient être utilisées et quand les appliquer afin d’augmenter les performances du code généré. »