Altera : le premier programme OpenCL de l'industrie pour FPGA

Par:
fredericmazue

jeu, 17/11/2011 - 14:39

Altera Corporation, fabricant de composants reprogrammables,  annonce un programme de développement centré sur le standard OpenCL (Open Computing Language) pour les FPGA (field-programmable gate array) et les SoC FPGA. Le standard OpenCL est un standard ouvert basé sur le langage C pour la programmation parallèle. Le programme OpenCL d'Altera associe les capacités de performances parallèles des FPGA au standard OpenCL pour donner une accélération aux systèmes. Ce système hétérogène (CPU + FPGA utilisant le standard OpenCL) dispose également d'un avantage significatif concernant la mise sur le marché par rapport au développement FPGA traditionnel qui utilise des langages de description matériel (HDL) moins sophistiqués comme Verilog ou VHDL. Par ce programme OpenCL, Altera s'est engagé avec plusieurs clients et a étendu son programme universitaire pour prendre en charge le standard OpenCL dans le développement de FPGA et contribue activement à l'évolution du standard OpenCL d'après les commentaires de ses clients. Les premiers retours d'information montrent des performances multipliées par 35 par rapport aux solutions CPU multi-coeur et une diminution de 50% du temps de développement par rapport aux solutions FPGA développées sous HDL.

Développé par un consortium industriel, le Khronos Group, le standard OpenCL est un standard ouvert, sans redevances, qui prend en charge les systèmes hétérogènes de programmation parallèle multi-plate-forme. En tant que langage parallèle standard, OpenCL permet aux programmeurs d'utiliser un langage C familier pour développer du code sur des plates-formes CPU comme GPU et de l'étendre désormais aux FPGA.

En adoptant une architecture hétérogène avec OpenCL, les architectes système peuvent optimiser les performances des parties du design où les algorithmes sont intenses tout en arrivant plus tôt sur le marché. Les applications ciblées sont : le HPC (high performance computing) avec la modélisation du climat et des finances, les systèmes de radars perfectionnés, l'imagerie médicale, l'encodage et le traitement vidéo, en résumé n'importe quel système nécessitant des calculs rapides qui peuvent être parallélisés.

"Le standard OpenCL permet aux concepteurs d'accélérer leur design et d'améliorer la productivité en tirant parti des architectures parallèles dans l'environnement de programmation C", a déclaré Udi Landen, vice président du logiciel et du développement IP chez Altera. "Nous participons activement au développement d'OpenCL depuis des années et nous collaborons actuellement avec le consortium, les architectes systèmes de nos clients et les universités pour que les FPGA soient intégrés dans le standard OpenCL".

Le standard OpenCL offre une séparation naturelle entre le code "hôte" - logiciel pur, écrit en C/C++, qui peut être exécuté sur n'importe quel type de microprocesseur et le code "noyau", écrit en OpenCL C, et tourner sur accélérateur. En profilant leurs algorithmes, les architectes systèmes peuvent choisir les fonctions à accélérer en tant que noyaux dans le FPGA pour améliorer les performances systèmes. Les nombreux noyaux peuvent fonctionner en parallèle pour accélérer encore plus le traitement. L'hôte communique avec le circuit accélérateur par un jeu de routines de bibliothèques avec un jeu d'extensions minimal qui permet aux programmeurs de spécifier le parallélisme et la hiérarchie mémoire pour les parties du code les plus intenses au niveau du calcul.

Pour plus d'informations : www.altera.com/OpenCL

Plus d'informations sur OpenCL : www.khronos.org/opencl