OpenCL : le GPU Computing enfin démocratisé ?

Tags : GPGPU; OpenCL;
Publié le 12/12/2008 par
Imprimer
Nvidia et OpenCL
La semaine passée, nous nous sommes entretenus avec le responsable de CUDA de manière à faire le point sur OpenCL que la compagnie supporte fermement. Certains pourraient être tentés de penser qu'OpenCL est un concurrent de C pour CUDA et que dans ce contexte Nvidia n'est pas très emballé par l'arrivée du premier. Bien entendu pour Nvidia l'utilisation de C pour CUDA est idéale puisque cela impose l'achat de ses produits alors qu'avec OpenCL d'autres produits peuvent être utilisés.

C'est cependant une vision des choses beaucoup trop simpliste. Le marché concerné en est encore à ses débuts et plutôt que se battre pour protéger quelques miettes il est bien plus utile de préparer un gros gâteau. Dans ce contexte, toute initiative destinée à développer l'utilisation de la puissance de calcul des puces massivement parallèles telles que les GPUs est bonne à prendre.

C'est d'ailleurs Neil Trevett, un ancien de 3D Labs et l'actuel Vice President of Embedded Content de Nvidia qui préside le groupe de travail OpenCL. Etant donné les similitudes entre C pour CUDA et OpenCL et le fait que, officiellement, ce soit Apple qui en ait eu l'idée et l'ait proposé (après avoir décidé d'équiper ses nouveaux Mac en produits Nvidia…) il est probable que Nvidia en soit en réalité au moins le co-instigateur.


Nvidia enfonce le clou en précisant qu'OpenCL a été développé sur ses GPUs et que la compagnie a été la première à en faire la démonstration. La similitude entre CUDA et OpenCL facilite ici la tâche à Nvidia puisqu'il lui suffit de mettre en place un pilote qui supporte l'API et de modifier légèrement son compilateur C pour CUDA de manière à en créer une version OpenCL. Ces 2 compilateurs utiliseront le même langage intermédiaire, le PTX de CUDA, qui est utilisé pour optimiser et créer le code machine exécuté par le GPU. De son coté AMD devra vraisemblablement mettre en place un compilateur OpenCL vers CAL, ce qui demandera un peu plus de travail.


Nvidia prévoit de rendre disponible un pilote OpenCL beta au printemps et un pilote final pendant l'été 2009 avec une version 1.1 qui devrait suivre rapidement. Celle-ci devrait à priori être utilisée pour corriger les lacunes d'OpenCL mise en avant par les premiers utilisateurs de l'API. AMD a de son côté annoncé un pilote OpenCL pour le premier semestre 2009.


Bien entendu, l'arrivée d'OpenCL ne signe pas l'arrêt du développement de C pour CUDA qui reste très important pour Nvidia. Etant une API propriétaire elle permet au fabricant de bouger plus vite par rapport à ses propres GPUs et de développer de nouvelles fonctions sans dévoiler à la concurrence des détails architecturaux sur ses prochaines puces. 2 révisions « mineures » sont prévues pour la première moitié de 2009 avec le passage à la version 3.0 dans 1 an.
Vos réactions

Top articles