Les calculs sur GPU gagnent en efficacité

Le 15/06/2011 à 10:14

Nvidia lance la version 4.0 de Cuda, son offre matérielle et logicielle pour le calcul  sur GPU. Tout est fait pour simplifier les développements, à l’image de la nouvelle librairie Thrust. Grâce à elle, les concepteurs n’ont plus à se demander comment partager l’exécution d’un programme entre le GPU et le CPU.
Le calcul sur GPU (Graphical Processing Unit) n’en est qu’à ses débuts dans l’industrie. Mais la technologie promet des performances très élevées qui intéressent le monde du calcul scientifique, ainsi que les développeurs de systèmes embarqués avec interfaces graphiques sophistiquées. Seule ombre au tableau : jusqu’à présent, seule une petite communauté d’experts pouvait mettre au point des applications vraiment optimisées. Il manquait des outils pour faciliter le portage des applications. Un manque que Nvidia se propose de combler avec la sortie de Cuda 4.0.
Le langage Cuda s’enrichit d’une nouvelle technologie baptisée Thrust. Grâce à cet ensemble de bibliothèques, disponibles pour l’instant pour C++, le développeur n’a plus à se demander si telle ou telle partie du programme gagnerait à être déportée dans le GPU ou à rester dans le CPU. « Auparavant, nous mettions nos clients en garde sur le fait que les développeurs devaient maîtriser parfaitement le langage et l’architecture des GPU pour les exploiter au maximum, reconnaît Stéphane Quentin, porte parole de Nvidia. Aujourd’hui, Thrust choisit le mode d’exécution le plus efficace en fonction du type d’algorithme et de la nature des données à traiter, et il répartit automatiquement la charge entre GPU et CPU lors de la compilation. »
Le lancement de Cuda 4.0 s’accompagne également de nouveautés pour la partie matérielle. C’est le cas de la technologie GPU Direct 2.0, qui offre un accès plus rapide à la mémoire dans le cas d’architectures avec plusieurs cartes GPU. D’ordinaire, les échanges de données entre cartes GPU devaient obligatoirement transiter par la mémoire système (la mémoire du CPU) ce qui entraînait des ralentissements. Avec GPU Direct 2.0, les GPU communiquent désormais directement entre eux et s’échangent des données à très haute vitesse.
Autre nouveauté : la technologie Unified Virtual Addressing, qui propose un accès unifié à la mémoire. Egalement destinée aux systèmes multi-GPU, elle consiste à regrouper la mémoire de toutes les cartes GPU pour former un espace mémoire unique d’un point de vue logique. Tous les GPU travaillent sur les mêmes données, ce qui réduit nettement les transferts de données entre cartes.
Pour Stéphane Quentin, « les innovations apportées par Cuda 4.0 simplifient énormément le travail de conception. Les industriels pourront ajouter des cartes GPU jusqu’à atteindre le ratio performances/prix souhaité, et cela d’autant plus facilement qu’il n’y a plus à modifier les programmes ni à gérer les transferts mémoire ».
Frédéric Parisot

Copy link
Powered by Social Snap