OpenCL
Signifie « Open Computing Language ». OpenCL est une norme ouverte de programmation parallèle multiplateforme. Elle a été développée à l’origine par Apple en 2008 et est désormais gérée par le groupe Khronos. Le premier grand système d’exploitation à prendre en charge OpenCL a été Snow Leopard (Mac OS X 10.6), sorti en 2009.
OpenCL fournit une API qui permet aux programmes logiciels d’accéder simultanément à plusieurs processeurs afin d’effectuer un traitement parallèle. Il peut notamment s’agir de CPU, de GPU, de processeurs de signal numérique (DSP) et de réseaux de portes programmables (FPGA). En répartissant la charge de calcul sur plusieurs processeurs, OpenCL améliore l’efficacité du traitement et peut augmenter considérablement les performances d’un programme.
Bien qu’OpenCL prenne en charge de nombreux types de processeurs, il est principalement utilisé pour accéder au GPU dans le cadre de tâches de calcul général. Cette technique, également appelée GPGPU, tire parti de la puissance de calcul du GPU et lui permet d’aider le CPU à effectuer des calculs. Avant OpenCL, le processeur graphique restait souvent inactif tandis que le CPU fonctionnait à pleine capacité. OpenCL permet au GPU d’aider le CPU à traiter des calculs sans rapport avec les graphiques.
Pour tirer parti d’OpenCL, le matériel et les logiciels doivent tous deux prendre en charge l’API OpenCL. Grâce à l’avantage en matière de performances qu’offre OpenCL, la plupart des cartes graphiques développées par NVIDIA et AMD prennent désormais en charge OpenCL. De nombreux processeurs graphiques mobiles, comme ceux utilisés dans les smartphones et les tablettes, prennent également en charge OpenCL.
Testez vos connaissances