GPU Computing CUDA
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 est demandé à chaque étudiant de réaliser une présentation de 45 minutes sur le thème de leur choix, ainsi qu'un mini-site web présentant plus en avant les points abordés lors de la présentation.
Ces exposés sont encadrés et dirigés par Dominique Revuz, directeur de l'UFR Ingénieurs 2000 à l'Université de Marne-la-vallée, et par Etienne Duris, responsable de la filière Informatique et Réseaux au sein de cette UFR.
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 mini-site internet présentant la technologie étudiée.
Sujet
Le sujet de mon exposé est la technologie CUDA, de la sociéte NVidia, et l'initiation à la programmation sur GPU. Depuis plusieurs années, je suis attentif aux nouvelles cartes graphiques, et également aux technologies qui leur sont dediées telle que la programmation massivement paralléle pour effectuer de lourds calculs, trés utilisés dans le monde de la 3D. Mes recherches m'ont permises d'approfondir mes connaissances dans le 3D, et plus précisement dans la programmation paralléle.
L'objectif de ce site est de proposer un aperçu de la technologie CUDA et des différentes possibilités offertes par le GPU dans le monde du calcul numérique.
Introduction
Depuis les années 2000, le réalisme des jeux-vidéos est de plus en plus saissisant, alors que la puissance de nos CPU n'ont pas réellement progressé. Cependant, la puissance de calcul des processeurs graphiques (GPU, Graphical Processing Unit) a considérablement augmenté.
Certains scientifiques, en recherche de puissance pour générer leur simulation numérique, se sont penchés sur ces composants, et ont demandé aux constructeurs de pouvoir executer des programmes directement sur GPU.
Pour répondre à cette demande, des technologies permettant d'exécuter des programmes génériques sur GPU. Parmi celles-ci, la technologie CUDA (Compute Unified Device Architecture) de la société nVIDIA s'est imposée comme la solution la plus aboutie.
Cette technologie est basée sur une API fournie par NVidia, que je vais vous présenter dans les pages suivantes.