Altera mise sur l’OpenCL pour révolutionner le monde des FPGA

Avec l’adaptation de l’OpenCL aux composants reprogrammables d’Altera, le monde des FPGA ne sera plus jamais le même. Bienvenue dans l’ère du FPGA Computing.

Petit retour en arrière : il y a cinq ans, NVIDIA lançait CUDA, une technologie permettant d’exploiter simplement (relativement) la puissance des GPU intégrés aux cartes graphiques dans le cadre de calculs massivement parallèles.

Nous avions rapidement pressenti que CUDA – et plus globalement le GPU Computing – allait révolutionner le marché du calcul. C’est aujourd’hui chose faite, puisque cette technologie est présente au cœur de nombreux supercalculateurs. Dans le même temps, l’OpenCL a permis de standardiser le GPU Computing et de le mettre à la portée de l’ensemble des concepteurs de GPU.

Les FPGA : puissants, mais difficiles à exploiter

Les FPGA (pour Field-Programmable Gate Array) sont des composants programmables. Comprenez par là que vous pouvez librement en définir le fonctionnement. Ils sont ainsi souvent utilisés pour créer des prototypes de microcontrôleurs.

Ils ont également un autre usage, moins connu. Il est en effet possible de les transformer en composants ultra-spécialisés, au sein desquels des algorithmes complexes (liés par exemple aux domaines de la sécurité ou de la finance) sont directement câblés en hardware. Ceci permet d’atteindre des vitesses de traitement inégalées dans le monde des CPU classiques, même si la fréquence de fonctionnement d’un FPGA reste faible.

Dans ce secteur, l’avantage des FPGA est d’autant plus important que l’algorithme à utiliser est complexe. Problème, si un développeur classique peut écrire le code d’un algorithme, le câbler dans un FPGA demande de solides connaissances dans le domaine de la création de composants électroniques.

La révolution des FPGA passera par l’OpenCL

Mettre la puissance des FPGA à la portée des développeurs classiques, voilà ce qu’Altera, un des spécialistes du secteur, souhaite faire en adaptant l’OpenCL à ses composants. Les produits de la firme pourront ainsi être aisément transformés en des accélérateurs de hautes performances, reliés à un PC par l’entremise d’un port PCI Express.

À cet effet, Altera compte fournir un noyau de base, qui transformera un FPGA en un accélérateur prêt à l’emploi, ainsi qu’un compilateur, chargé de fixer le code OpenCL « en dur » dans le composant. À la clé une simplification de la programmation du FPGA, qui permettra de réduire le temps de design de moitié. Les performances devraient également être de haut vol, parfois même par rapport aux GPU, dont l’approche logicielle est plus souple, mais moins performante.

Bon point, tous les FPGA de la firme devraient être compatibles avec cette technologie, y compris les plus petits (et économiques) d’entre eux.

Les FPGA dans des supercalculateurs

Hasard du calendrier, le CHREC (Center for High-Performance Reconfigurable Computing) vient d’annoncer une mise à jour de son supercalculateur Novo-G, qui adopte dorénavant des FPGA Altera Stratix IV. Cette machine de haute puissance a pour vocation de tester à large échelle les applications et outils dédiés au monde de l’informatique reconfigurable. Il est probable que l’annonce OpenCL de ce jour facilitera grandement le travail des chercheurs œuvrant sur ce supercalculateur et permettra aux FPGA d’être utilisés plus largement dans le monde du calcul.

Notez que le support de l’OpenCL au sein des FPGA d’Altera n’en est qu’à ses prémices. Les outils ne sont pas encore disponibles publiquement et aucun business model n’a été dévoilé. Ce n’est donc que le début de l’aventure pour la firme.