Introduction à la programmation GPU (1re partie)

Abonnements, magazines... Notre catalogue complet au bas de cette page.

La programmation GPU a souvent mauvaise réputation auprès des développeurs car elle est considérée comme difficile et réservée à des spécialistes techniques souvent répartis dans des domaines de niches réclamant des performances accrues : simulation en calcul scientifique, imagerie médicale, dynamiques des fluides, protection de l’environnement, calculs financiers en salle de marché ...
L’arrivé de la nouvelle librairie Microsoft C++ Accelerated Massive Parallelism (C++ AMP) est sans aucun doute un évènement important pour la communauté des développeurs Microsoft. Naturellement, les développeurs .NET sont un peu déçus, car pour l’instant, il n’y a pas d’implémentation GPU pour le Framework .NET planifiée, mais les équipes y réfléchissent. Cependant, si vous souhaitez développer en .NET sur GPU, la société Tidepowerd (http://www.tidepowerd.com/) fournit une belle implémentation .NET, avec sa librairie GPU.NET (http:/www.tidepowerd.com/product). Pour une grande majorité des acteurs concernés par la programmation GPU, l’annonce de la nouvelle librairie Microsoft C++ AMP a suscité à la fois curiosité et étonnement. Pourquoi Microsoft annonce- t-il une nouvelle librairie pour traiter du calcul sur GPU alors que nVIDIA CUDA et OpenCL occupent déjà ce territoire ? La programmation GPU n’étant pas très populaire, je souhaitais vous présenter ces technologies à travers une série d’articles. L’objectif est de vous initier aux rudiments de ces technologies en utilisant systématiquement le même algorithme. Dans cette introduction je vous présenterai dans un premier temps les différentes technologies GPU que nous allons étudier : nVIDIA CUDA C, OpenCL et Microsoft C++ AMP.

Bruno Boucard

S'ABONNER
Egalement au sommaire de :
Programmez! #147