GPGPU : les spécifications d'OpenCL sont finalisées

Future bataille avec DirectX 11 ? 159
Le Khronos Group vient d’annoncer que les spécifications de la technologie OpenCL sont désormais complètes et finalisées. Comme pour l’OpenGL, le nouveau venu a pour but de tout rassembler autour d’une technologie ouverte, sans royalties et multiplateforme.

OpenCL et OpenGL ont ceci en commun qu’elles visent toutes deux la carte graphique présente dans l’ordinateur. OpenGL permet ainsi aux développeurs de créer des applications graphiques, le GPU calculant alors l’ensemble du travail et accomplissant donc sa mission. Avec OpenCL, la carte graphique calcule aussi, mais dans un domaine complètement différent : le travail normalement réservé au CPU.

C’est une évolution que l’on voit depuis quelques années : orienter vers le GPU des instructions qui auraient dû être traitées par le CPU. La partie la plus visible de ce changement se trouve dans les systèmes d’exploitation : Windows, Mac OS X et Linux ont désormais tous une ou plusieurs technologies qui permettent à la carte graphique de gérer tout ou partie de l’interface. Mais OpenCL permet d’aller beaucoup plus loin en permettant aux développeurs de créer des applications dont les calculs seront envoyés au GPU, sans que cela ait un rapport avec l’affichage.

opencl

Comparé à un CPU, le GPU calcule bien plus vite. Dans les grandes lignes, le CPU est un couteau suisse, capable de s’occuper d’un grand nombre de situations, à un certain niveau de vitesse. Le GPU n’aurait alors qu’une seule lame, mais d’une redoutable efficacité. La puissance offerte par les cartes graphiques est aujourd’hui colossale, comme nous le disait récemment Éric Mahé, organisateur du GPU Camp qui s’est tenu samedi dernier à Paris. Pourquoi ne pas donc exploiter ces capacités ailleurs que dans les jeux ?

Le problème est que le GPU ne sait faire qu’un nombre limité de choses, et qu’il faut lui parler dans un langage qu’il comprend. Le code d’une application n’a plus rien à voir et il faut une structure bien précise pour faire travailler la carte graphique. OpenCL est ce genre de structure et sera intégré à Snow Leopard, le prochain Mac OS X. D’ailleurs, le nombre de partenaires de cette technologie montre clairement l’intérêt qu’elle représente : 3DLABS, Activision Blizzard, AMD, Apple, ARM, Barco, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, HI, IBM, Intel Corporation, Imagination Technologies, Kestrel Institute, Motorola, Movidia, Nokia, NVIDIA, QNX, RapidMind, Samsung, Seaweed, TAKUMI, Texas Instruments et l’Université d’Umeå.

On remarquera l’absence de Microsoft et pour cause : DirectX 11 intégrera les Compute Shaders, qui visent le même objectif qu’OpenCL. Difficile pour l’instant de dire quelle technologie remportera la partie, mais OpenCL est multiplateforme et risque de trouver rapidement des développements. D’un autre côté, DirectX 11 sera présent dans Windows 7 et disponible pour Vista, et le domaine du jeu vidéo y viendra nécessairement.

À noter enfin qu’OpenCL, comme DirectX 11, sera indépendant des modèles des marques de cartes graphiques. Ce sont donc des solutions différentes de CUDA par exemple, qui ne peuvent fonctionner qu’avec certains modèles de cartes NVIDIA.

Les développeurs intéressés par OpenCL pourront se rendre sur cette page pour en apprendre davantage.
Par Vincent Hermann Publiée le 09/12/2008 à 12:39 - Source : Khronos Group
Publicité