jeudi 26 avril 2012

GPU Computing: OpenCl vs CUDA - Adobe a choisi


Définition de ce qu'est le GPU Computing

Le traitement d'images et le traitement vidéo sont deux exemples de tâches qui consistent à réaliser un nombre très important de fois les mêmes calculs. Avec les dernières générations de proceseurs, le calcul vraiment parallèle est devenu possible, mais l'actuelle limite des 8 coeurs logiques (sur les Intel i7 par exemple, à plus de 200€ l'unité) est tout de même très contraignante lorsqu'il s'agit de traiter une image de plusieurs millions de pixels.
À contrario, les cartes graphiques possèdent une quantité énorme d'unités de calcul, plus petites, et optimisées pour les tâches répétitives.


Mises en parallèle, toutes ces unités de calcul permettent alors d'effectuer des centaines de calculs, sur des zones différentes d'une image, dans un temps très court, là où un processeur aurait dû s'y reprendre en plusieurs (dizaines de) fois. C'est ce que l'on appelle le "GPU Computing".

Les technologies CUDA et OpenCl

Et dans le domaine, il y a deux grandes technologies de programmation qui s'opposent:
  • CUDA, propriété de nVIDIA, performante parce qu'optimisée et uniquement utilisable sur des cartes graphiques de la marque,
  • OpenCl, standard ouvert, que tout le monde peut utiliser (même nVIDIA !), et principalement soutenu par AMD.

Le gros avantage d'OpenCl c'est qu'il est utilisable aussi bien sur les cartes graphiques que sur les processeurs. Les derniers processeurs Intel se sont mis à cette technologie et supportent, tout comme les processeurs AMD, le calcul OpenCl (je ne parle pas des cartes graphiques AMD qui le supportent depuis plusieurs générations).
OpenCl peut donc être utilisé sur un nombre beaucoup plus important de matériels de marques différentes, là où CUDA se restreint aux cartes graphiques de nVIDIA.

Adobe choisi son camp pour son futur Photoshop CS6

Adobe vient d'annoncer que pour Photoshop CS6, ils arrêteraient d'utiliser CUDA, au profit d'OpenCl. Ainsi, tous les utilisateurs pourront profiter de cette technologie, et pas uniquement ceux qui possèdent la bonne marque de carte graphique, comme c'était le cas avec CUDA.

Une bonne nouvelle, donc, qui montre bien que, même si l'on a plus d'argent que son concurrent direct, on ne contrôle pas tout pour autant. Gros coup dur pour nVIDIA, qui, en restreignant depuis des années sa technologie CUDA à son propre matériel, se voit maintenant en train de perdre un marché relativement important.

Sources:
Revioo.com - Adobe passe à l’OpenCL et fait le bonheur d'AMD
nvidia.com - What is GPU Computing ?

Aucun commentaire:

Enregistrer un commentaire