Skip to main content

Automatic code generation for Graphics Processing Units

Article Category

Article available in the folowing languages:

Dynamiser l'informatique

L'avancement des processeurs graphiques (GPU) promet un nouveau concept en termes de fabrication de processeurs informatiques. Un projet dynamique financé par l'UE a notablement progressé dans ce domaine.

Économie numérique

Les GPU assurent les calculs des jeux informatiques actuels les plus sophistiqués. Ils intéressent de plus en plus les informaticiens et les chercheurs, en vue de réaliser des calculs numériques très rapides. Grâce à la forte demande générée par les jeux sur ordinateur, le prix des GPU a tellement diminué que l'on peut les considérer comme une option économique vers une informatique à grande vitesse. Le projet AUTH-AUTOGPU («Automatic code generation for graphics processing units»), financé par l'UE, a cherché à élargir aux GPU les codes de programmation optimisés, afin de les rendre plus efficaces dans l'informatique de tous les jours. Il a notamment cherché à concevoir un langage de haut niveau pour le parallélisme explicite, afin de programmer des algorithmes numériques pour le traitement d'images et de signaux. AUTH-AUTOGPU a travaillé à la génération automatisée de code à l'aide d'un compilateur spécial, de modèles et de bibliothèques d'algorithmes. Il a également appliqué des méthodes perfectionnées d'optimisation et de recherche, afin d'automatiser l'optimisation des composants logiciels critiques pour les performances. L'équipe du projet a développé la plate-forme AUToGPU afin de faciliter la conception et le prototypage d'algorithmes parallèles pour le traitement d'images et de signaux. Ceci a contribué à accélérer le développement, surtout par rapport aux GPU, à automatiser l'optimisation des performances, à s'adapter aux évolutions matérielles des GPU, et à rendre le logiciel plus agile. AUToGPU s'appuie sur des techniques de compilations spécifiques et sur de nouvelles abstractions mathématiques, pour faire avancer l'informatique hautes performances en manipulant des structures mathématiques spécifiques au domaine et en les faisant correspondre à l'architecture du GPU. Il améliore le traitement d'une abstraction unifiée des algorithmes par des expressions mathématiques de haut niveau. Ensuite, il utilise des règles pour transformer l'abstraction algorithmique en variantes équivalentes, à l'aide d'identités mathématiques. L'exploration des variantes d'algorithmes soutient l'utilisation sur CUDA (Compute Unified Device Architecture), le modèle de programmation et de calculs parallèles inventé par NVIDIA, le géant des cartes graphiques. Dans ce contexte, le succès phénoménal de NVIDIA et de son architecture de GPU dans le domaine des hautes performances, ouvre de nouvelles possibilités aux grands fondeurs de microprocesseurs. Face à l'intérêt croissant du secteur, AMD et Intel sont entrés sur le marché des accélérateurs GPU. AUToGPU pourrait donc bientôt desservir un domaine de processeurs bien plus vaste, surtout vu que l'architecture de GPU devrait devenir la norme dans la conception de microprocesseurs.

Mots‑clés

Technologie informatique, processeur graphique, processeur informatique, calculs numériques, jeux sur ordinateur, calculs à grande vitesse, génération de code, programmation, algorithmes parallèles, microprocesseur

Découvrir d’autres articles du même domaine d’application