NVIDIA sort sa version 5 de CUDA, et simplifie la programmation sur la plateforme de calcul parallèle la plus omniprésente


Rédigé par Communiqué de Nvidia le 15 Octobre 2012

Disponible en téléchargement gratuit, la dernière version comprend de nouveaux outils, ainsi que de nouvelles bibliothèques et fonctionnalités qui améliorent la productivité des développeurs



NVIDIA a sorti aujourd’hui la version de pré-production NVIDIA® CUDA® 5, une puissante nouvelle version de la plateforme de calcul parallèle et du modèle de programmation les plus omniprésents, destinée à accélérer les applications scientifiques et d’ingénierie sur les processeurs graphiques. Elle est téléchargeable gratuitement à partir de la zone Développeurs du site Web NVIDIA.



Avec plus de 1,5 millions de téléchargements, et la prise en charge de plus de 180 applications d'ingénierie, scientifiques et commerciales, CUDA est l’outil le plus populaire permettant aux développeurs de tirer avantage du calcul exploitant la puissance des GPU.

Fort de ce succès, NVIDIA a conçu les fonctionnalités de programmation de la plateforme CUDA 5 pour rendre le développement des applications accélérées par le GPU plus rapide et plus facile que jamais. Pour cela, de nombreux outils ont été inclus, notamment la prise en charge du parallélisme dynamique, des bibliothèques exécutables par le GPU, de la prise en charge de NVIDIA GPUDirect™ avec un support RDMA (pour un accès direct en mémoire à distance) et l’environnement de développement intégré NVIDIA Nsight™ édition Eclipse.

Plateforme CUDA 5 : éloges des développeurs
Les développeurs ayant évalué la version préliminaire de CUDA 5 ont très souvent remarqué une accélération impressionnante des applications et des capacités de programmation améliorées.

Les secteurs de la défense et de l’aérospatiale se rendent compte des avantages de l’accélération basée sur les GPU CUDA pour le traitement d’images, de vidéos et de données de capteur tels que les radars. Selon Dustin Franklin, ingénieur d’applications GPGPU (calcul générique sur processeur graphique) pour GE Intelligent Platforms à Charlottesville, Virginie (Etats-Unis), « La plateforme CUDA 5 est une technologie très importante pour nous. La plupart des applications que nous utilisons nécessitent le transport d’un flux de données de capteur directement dans le GPU avec une latence faible ; c’est pourquoi la prise en charge GPUDirect™ pour un accès direct en mémoire à distance sur les GPU Kepler est d'une importance capitale pour nos clients. Nous avons déjà intégré une prise en charge pour un grand nombre de nos capteurs et sommes très satisfaits des résultats. »

Guillaume Belz, chercheur en biochimie au centre hospitalier universitaire de Lyon (France), utilise le parallélisme dynamique et les bibliothèques exécutables par le GPU pour des analyses de signal et des explorations de données complexes. « Grâce à l’accélération apportée par le GPU, nous obtenons des résultats en quelques heures pour des projets qui prenaient auparavant des semaines, voire des mois, uniquement avec des GPU centraux. Sans l’accélération du GPU, l’analyse est impossible », a affirmé M. Belz.

Weihua (Wayne) Sun, candidat au doctorat en sciences de l'imagerie au Rochester Institute of Technology de New York, a été impressionné par l’édition Eclipse de l’environnement NVIDIA Nsight. « Lorsque j’ai appris que la version 5 de la plateforme CUDA comprenait le nouvel environnement de développement intégré NVIDIA Nsight™ édition Eclipse, j’ai su qu’il me la fallait absolument. Avoir tous mes outils de programmation, de débogage et d’optimisation en un seul environnement de développement intégré représente pour moi un gain de productivité énorme. »

Nouvelles fonctionnalités de la plateforme CUDA 5
CUDA 5 permet aux développeurs de tirer pleinement profit des performances des processeurs graphiques NVIDIA, notamment des accélérateurs de GPU basés sur l’architecture de calcul NVIDIA Kepler™, architecture de calcul la plus rapide, la plus efficace et fournissant les meilleures performances jamais conçue. Parmi les fonctionnalités, vous pourrez trouver :

· Le parallélisme dynamique : applique l'accélération du GPU à de nouveaux algorithmes.

Les thread de GPU peuvent engendrer de façon dynamique de nouveaux thread, ce qui permet au GPU de s’adapter aux données. En minimisant les va-et-vient avec le processeur central, le parallélisme dynamique simplifie considérablement la programmation parallèle. De plus, cela permet une accélération via le GPU d’une gamme plus large d’algorithmes répandus, tels que ceux utilisés dans les applications d’« adaptive mesh refinement » et de simulation numérique des fluides.



· Les bibliothèques exécutables par le GPU : permet le fonctionnement d’écosystème tiers

Une nouvelle bibliothèque CUDA BLAS permet aux développeurs d’utiliser le parallélisme dynamique pour leurs propres bibliothèques exécutables par le GPU. Ils peuvent concevoir des interfaces de programmation d’applications (API) permettant à d’autres développeurs d’élargir les fonctionnalités de leurs noyaux et de mettre en place des rappels automatiques sur le GPU afin de personnaliser les fonctionnalités des bibliothèques tierces exécutables par le GPU. La capacité de « création de lien avec un objet » offre un processus efficace et habituel pour le développement des applications sur GPU importantes, en permettant aux développeurs de réunir de nombreux fichiers sources CUDA dans des fichiers objets séparés et de les relier à de plus grandes applications et bibliothèques.



· La prise en charge GPUDirect™ pour un accès direct en mémoire à distance : minimise les goulots d'étranglement de la mémoire système
La technologie GPUDirect garantit des communications directes entre le processeur graphique et les autres périphériques du bus PCI-E, et prend en charge l’accès direct à la mémoire entre les cartes d’interface réseau et le processeur graphique. En outre, cette fonction réduit considérablement la latence des messages MPI Send/Recv échangés entre les nœuds du processeur graphique dans un cluster, et améliore les performances globales de l'application.



· L’environnement NVIDIA Nsight édition Eclipse : génère du code CUDA rapidement et facilement

Cela permet aux programmeurs de développer, déboguer et esquisser les applications du processeur graphique au sein de l’IDE issu de l’édition Eclipse familière sur les plateformes Linux et Mac OS X. Un éditeur CUDA intégré et des échantillons CUDA accélèrent la génération de code CUDA. De plus, la re-création automatique de code facilite le transport de boucles de processeur central vers les noyaux CUDA. Un système d’analyse professionnel intégré fournit une analyse des performances automatisée et une assistance pas à pas afin de réparer les goulots d'étranglements dans le code ; tandis que la mise en relief de la syntaxe facilite la différenciation entre le code du processeur graphique et celui du processeur central.



Nouveau centre de ressources CUDA en ligne
Afin d’aider les développeurs à optimiser le potentiel du calcul parallèle avec la plateforme CUDA, NVIDIA a lancé un centre de ressources en ligne gratuit pour les programmeurs CUDA, accessible à l’adresse http://docs.nvidia.com. Le site offre les dernières informations sur la plateforme et le modèle de programmation CUDA, ainsi qu'un accès à tous les documents et technologies destinés aux développeurs CUDA, notamment des outils, des échantillons de code, des bibliothèques, des API et des guides de réglage et de programmation.

Programme de développeur CUDA enregistré
Des programmeurs de calcul parallèle sont invités à rejoindre le programme gratuit des développeurs enregistrés pour accéder facilement aux versions des logiciels, aux outils et aux ressources. Veuillez-vous rendre à l’adresse www.nvidia.com/paralleldeveloper pour en savoir plus.




Dans la même rubrique :