OpenCL et Programmation Générique sur GPU
Présentation
Contexte
Dans le cadre de la dernière année d'études en ingénierie de l'informatique et des réseaux au sein de l'UFR Ingénieurs 2000 de l'Université Paris Est-Marne la vallée, il a été demandé à chaque étudiant de réaliser une présentation de 45 minutes sur un thème parmis une liste prédéfinie de sujets ou proposé par l'étudiant, ainsi qu'un site web mettant en avant les points abordés lors de la présentation.
Ces exposés sont encadrés et dirigés par Dominique Revuz et Etienne Duris.
Le but de ces exposés est de présenter une technologie récente non étudiée au cours des trois années de la formation d'ingénieur proposée par l'école. Chaque exposé se compose d'une présentation (effectuée devant l'ensemble de la promotion) et d'un site internet présentant la technologie étudiée.
Sujet
Vous trouverez dans ces page des détails sur la technologie OpenCl et le GPU Computing, aussi appelé Programmation Générique sur Processeur Graphique.
Le GPU Computing étant une technologie montante depuis les années 2000 et répondant à la demande de puissance de calcul toujours plus important dans les différents domaines de l'informatique.
J'ai donc décidé de prendre ce sujet comme exposé pour en savoir davantage et permettre de la faire connaitre à travers un exposé et ce site.
L'objectif de ce site est de donner un aperçu de la technologie OpenCL et du GPU Computing sans rentrer dans les détails.
Pour plus d'informations sur cette technologie, rendez-vous sur la page des Liens utiles où vous trouverez des informations plus détaillées.
Introduction
En une vingtaine d'années, les capacités de calcul des processeurs graphiques (GPU, Graphical Processing Unit) pour ordinateurs personnels ont considérablement évoluées.
Depuis l'accélération de quelques fonctions fixes de rendu graphique, les GPU ont petit à petit incorporés l'accélération de fonctions plus génériques, pour atteindre de nos jours un niveau de programmation similaire à celui d'un processeur central (CPU, Central Processing Unit).
Ainsi sont apparues des technologies permettant d'exécuter des programmes génériques sur GPU. Parmi celles-ci, la technologie OpenCL (Open Computing Language) du consortium Khronos Group permet d'avoir une alternative crédible à la technologie CUDA, la plus utilisée en 2011.
Cette technologie repose un langage proche du C ainsi que d'une API permettant d'utiliser OpenCL à partir de pratiquement tous les langages de programmation conventionnelle (Java, C, C++, Python, etc.).