Actualités cartes graphiques

GTC: Nvidia annonce CUDA 8, prêt pour Pascal

Publié le 13/04/2016 à 15:33 par
Envoyer Imprimer

Comme souvent, l'arrivée d'une nouvelle architecture est associée à une révision majeure de CUDA, l'environnement logiciel de Nvidia destiné au calcul massivement parallèle. Ce sera évidemment le cas pour les GPU Pascal qui pourront profiter dès cet été d'un CUDA 8 taillé sur mesure. Au menu : un support plus évolué de la mémoire unifiée, un profilage plus efficace et un compilateur plus rapide.

La principale nouveauté de CUDA 8 sera le support complet de l'architecture Pascal et particulièrement du GP100 qui équipe l'accélérateur Tesla P100. Déjà introduit avec CUDA 7.5 pour permettre aux développeurs de s'y préparer, le support de la demi-précision (FP16) sera finalisé et pourra permettre des gains conséquents pour les algorithmes qui peuvent s'en contenter. Dans le cas du GP100, CUDA 8 ajoutera évidemment le pilotage des accès mémoire à travers les liens NVLink.

La plus grosse évolution est cependant à chercher du côté de la mémoire unifiée qui va faire un bond en avant avec Pascal, ou tout du moins avec le GP100 puisque nous ne sommes pas certains que les autres GPU Pascal en proposeront un même niveau de support. Si vous avez l'impression qu'on vous a annoncé le support de cette mémoire unifiée avec chaque nouveau GPU, ne vous inquiétez pas, vous n'avez pas rêvé, nous avons la même impression.

Elle est en fait supportée depuis CUDA 6 pour les GPU Kepler et Maxwell mais de façon limitée, que nous pourrions qualifier d'émulée. Pour ces GPU, l'espace de mémoire unifié est en fait dédoublé dans la mémoire centrale et dans la mémoire physiquement associée au GPU. L'ensemble logiciel CUDA se charge de piloter et de synchroniser ces deux espaces mémoires pour qu'ils n'en représentent qu'un seul du point de vue du développeur. De quoi faciliter sa tâche mais au prix de sérieuses limitations : la zone de mémoire unifiée ne peut dépasser la quantité de mémoire rattachée au GPU, le CPU et le GPU ne peuvent y accéder simultanément et de nombreuses synchronisations systématiques sont nécessaires pour forcer la cohérence entre les copies CPU et GPU de cette mémoire.

Pour proposer un support plus avancé de la mémoire unifiée, des modifications matérielles étaient nécessaires au niveau du GPU, ce qui explique pourquoi nous estimons possible que cela soit spécifique au GP100. Tout d'abord l'extension de l'espace mémoire adressable à 49-bit pour permettre de couvrir l'espace de 48-bit des CPU ainsi que la mémoire propre à chaque GPU du système. Ensuite la prise en charge des erreurs de page qui permet d'éviter les coûteuses synchronisations systématiques. Si un kernel essaye d'accéder à une page qui ne réside pas dans la mémoire physique du GPU, il va produire une erreur qui va permettre suivant les cas soit de rapatrier localement la page en question, soit d'y accéder directement à travers le bus PCI Express ou un lien NVLink.

La cohérence peut ainsi être garantie automatiquement, ce qui permet aux CPU et aux GPU d'accéder simultanément à la zone de mémoire unifiée. Sur certaines plateformes, la mémoire allouée par l'allocateur de l'OS sera par défaut de la mémoire unifiée, et il ne sera plus nécessaire d'allouer une zone mémoire spécifique. Nvidia indique travailler à l'intégration de ce support avec Red Hat et la communauté Linux. Par ailleurs, CUDA 8 étend également le support de la mémoire unifiée à Mac OS X.

Ce support plus avancé de la mémoire unifiée va faciliter le travail des développeurs et surtout rendre plus abordable leurs premiers pas sur les GPU tout en maintenant un relativement bon niveau de performances. Tout du moins si le pilote et le runtime CUDA font leur travail correctement puisque c'est à ce niveau que tout va se jouer. A noter que les développeurs plus expérimentés conservent la possibilité de gérer explicitement la mémoire.

Parmi les autres nouveautés, Nvidia introduit une première version de la librairie nvGRAPH (limitée au mono GPU) qui fournit des routines destinées à accélérer certains algorithmes spécifiques au traitement des graphes. Traiter rapidement les opérations sur ces structures mathématique prend de plus en plus d'importance, que ce soit pour les moteurs de recherche, la publicité ciblée, l'analyse des réseaux ou encore la génomique. Faciliter l'exécution de ces opérations sur le GPU est donc important pour leur ouvrir la porte à de nouveaux marchés potentiels.

Une autre évolution importante est à chercher du côté des outils de profilages qui vont dorénavant fournir une analyse des dépendances. De quoi par exemple permettre de mieux détecter que les performances sont limitées par un kernel qui bloque le CPU trop longtemps. Ces outils revus prennent également en compte NVLink et la bande passante utilisée à ce niveau.

Enfin, le compilateur NVCC 8.0 a reçu de nombreuses optimisations pour réduire le temps de compilation. Nvidia annonce qu'il serait réduit de moitié, voire plus, dans de nombreux cas. Ce compilateur étend également le support expérimental des expressions lambda de C++11.

La sortie de CUDA 8.0 est prévue pour le mois d'août mais une release candidate devrait être proposée dès le mois de juin.

GTC: Nvidia annonce Iray VR et Iray VR Lite

Tag : GTC;
Publié le 11/04/2016 à 10:20 par
Envoyer Imprimer

Iray, le moteur de rendu interactif photoréaliste de Nvidia s'apprête à passer à la VR. Rendre interactif un rendu à base physique de type ray tracing est loin d'être simple et y ajouter la VR demande un travail particulier supplémentaire ainsi qu'une puissance de calcul considérable. Mais face à l'engouement de l'industrie pour cette technique d'affichage, Nvidia a décidé de se pencher sur la question.

Iray VR Lite fonctionne à peu près de la même manière qu'Iray, si ce n'est qu'au lieu d'une image rectangulaire c'est une photosphère ou un panorama sphérique qui est rendu avec un raffinement progressif. Une fois l'image terminée, il est alors possible d'orienter le regard dans toutes les directions mais à partir d'un point fixe, il n'est pas possible de se déplacer dans la scène. Tout du moins sans relancer sa construction progressive.

Iray VR Lite peut être exploité en tant que solution interactive et doit alors être associé en direct ou à travers le cloud à un serveur puissant, par exemple pour pouvoir visualiser en quelques secondes un changement de couleur du cuir de sa future voiture. Iray VR Lite peut également être utilisé de manière statique : une fois le rendu terminé, le résultat final est distribué pour être visualisé sur n'importe quelle plateforme équipée d'un casque de VR, y compris Android à travers une application dédiée.

Pour la démonstration d'Iray VR Lite, Nvidia propose plusieurs points de vue statiques et un mécanisme pour saute de l'un à l'autre. La perspective n'est pas toujours parfaitement correcte mais cela fonctionne relativement bien pour certains besoins. Mieux vaut cependant être assis que d'essayer de se déplacer en étant debout avec un casque sous le nez sans quoi la sensation de vertige est garantie vu que seules les rotations du point de vue sont prises en compte.

Pour aller plus loin, il faut passer par la version complète d'Iray VR qui permet cette fois un déplacement limité dans la scène rendue. La technique de rendu diffère quelque peu d'Iray et Iray VR Lite compte tenu de cette spécificité et n'est actuellement pas prévue pour le raffinement progressif de l'image.

Pour autoriser un déplacement dans la scène, Iray VR va précalculer ce que Nvidia nomme des light probes qui permettent de représenter un champ lumineux en différents points de vue. Ce calcul des lights probes peut prendre beaucoup de temps. Par exemple, la démonstration de Nvidia fait appel à 128 light probes en 4K qui prennent chacune 1h de rendu sur un serveur équipé de 8 Quadro M6000, soit 128 heures en tout. Ensuite, en temps réel cette fois, un GPU équipé d'un très large framebuffer (une Quadro M6000 et ses 24 Go) va se charger de reconstruire la scène en combinant les informations de plusieurs de ces light probes.

Nvidia exploite actuellement Iray VR pour visualiser l'intérieur de ses nouveaux bâtiments qui sont en construction à Santa Clara. Nous avons pu tester la chose et le résultat est plutôt impressionnant. Cette technique permet de préserver l'aspect correct de l'éclairage et des réflexions lorsque l'on se déplace ou tourne la tête, de quoi se rapprocher de la sensation de se promener dans une photo.

Il y a par contre quelques limitations : la zone de déplacement est limitée par la zone couverte par les light probes alors que la qualité du rendu dépend de leur taille. Ainsi, 128 light probes représente un compromis qui limite la zone de déplacement à vue de nez à un peu moins de 2m sur 2m. Malgré cela la région couverte par chaque light probe reste assez vaste ce qui induit des artéfacts au niveau ce certains point de vue (petit décalage au niveau de la lumière et des réflexions), probablement quand ils se situent exactement à la frontière entre 2 light probes.

Iray VR et Iray VR Lite seront disponibles à partir du mois de juin, à priori au départ pour l'ensemble des plugins fournis par Nvidia (Iray Server ainsi que Iray pour 3DS MAX, Cinema 4D, Maya et Rhinoceros. Pour les versions intégrées directement dans les logiciels de modélisation et de rendu, il faudra probablement patienter jusqu'à leur prochaine révision majeure.

GTC: 200 mm² pour le petit GPU Pascal ?

Tags : GTC; GTC16; Nvidia; Pascal;
Publié le 08/04/2016 à 15:10 par
Envoyer Imprimer

Il y 3 mois, lors du CES, Jen-Hsun Huang avait présenté le Drive PX 2, le nouveau boîtier dédié à la conduite autonome de Nvidia qui embarque entre autre deux GPU Pascal. Seul petit problème c'est alors un prototype équipé de GM204 Maxwell et non de GPU Pascal qu'avait présenté Jen-Hsun Huang, en oubliant de préciser ce détail, ce qui n'avait pas manqué de susciter la polémique.

Le CEO de Nvidia a profité de la GTC pour rectifier cela en affichant cette fois le "vrai" Drive PX 2 équipé des nouvelles puces Pascal. Le module était ensuite visible dans la zone d'exposition de la GTC mais Nvidia avait malheureusement pris soin de le positionner de manière à ce que les GPU ne soient pas clairement visibles. Nous pouvions cependant les apercevoir suffisamment pour obtenir un second angle de vue pour confirmer la taille de la puce.

 
 

Sur la photo où Jen-Hsun Huang présente le Drive PX 2, nous mesurons à peu près 200 mm², alors que sur les autres photos nous sommes plutôt à 205 mm². Suffisamment proche pour pouvoir estimer la taille de ce GPU Pascal (GP106 ?) à +/- 200 mm² en 16nm.

Les spécifications de ce GPU ne sont pas encore connues, tout ce que nous savons est qu'il atteint 4 TFlops dans la configuration qui a été retenue pour le Drive PX 2 et qu'il semble équipé d'un bus mémoire de 128-bit vu la bande passante annoncée de 80 Go /s et malgré la présence de 8 puces 32 bits. De quoi imaginer par exemple un plus gros GPU Pascal grand public (GP102 ? GP104 ?) qui pourrait doubler tout cela. 350 à 400 mm² en 16nm, 8 TFlops et un bus mémoire GDDR5X 256-bit pourrait correspondre à ce que nous prépare Nvidia.

GTC: Tesla P100: débits PCIe et NVLink mesurés

Publié le 08/04/2016 à 14:32 par
Envoyer Imprimer

Lors d'une session de la GTC consacrée à GPUDirect, qui regroupe les techniques de communications entre GPU et avec d'autres éléments d'un système, nous avons pu en apprendre un peu plus sur les performances du GP100 au niveau de ses voies de communication.

Il y a tout d'abord des progrès au niveau du PCI Express. Nvidia explique que les GPU Kepler et Maxwell souffraient de quelques limitations et devaient se contenter d'à peu près 10 Go/s en écriture et de 7 Go/s en lecture. Cela change avec Pascal dont le tissu PCI Express est dorénavant optimal pour une interface 16x 3.0, ce qui lui permet d'atteindre 12 Go/s dans les deux sens, soit à peu près le maximum théorique.

Ensuite, Nvidia a publié les premiers chiffres de débits obtenus pour les liens NVLink en communication point-à-point entre 2 GP100, tout en précisant que toutes les optimisations n'avaient pas encore été mises en place. Pour ce test, un seul lien NVLink est ici exploité et le transfert est unidirectionnel.

Avec des blocs de 4 Mo, le GP100 parvient à monter à 17.9 Go/s, ce qui est plutôt pas mal compte tenu du fait que l'interface est spécifiée à 20 Go/s dans chaque direction. Le débit reste supérieur à 15 Go/s avec des blocs de 256 Ko, mais plonge rapidement sous cette valeur, ce qui est un résultat attendu pour toute voie de communication compte tenu du surcoût par transfert. Ces premiers résultats sont donc plutôt encourageants et Nvidia explique qu'ils sont obtenus grâce à l'intégration de moteurs de copies pour chaque lien NVLink.

Rise of the Tomb Raider avec les GTX 960

Tags : GTX 960; Nvidia;
Publié le 06/04/2016 à 14:24 par
Envoyer Imprimer

Après l'avoir offert en début d'année sur les gammes supérieures, Nvidia offre désormais Rise of the Tomb Raider avec les GTX 960. Pour rappels les GTX 970, 980 et 980 Ti profitent à l'heure actuelle du titre The Division.

Comme d'habitude cette offre n'est valable que chez les revendeurs partenaires affichant l'offre. Ils vous fourniront généralement après le délai de rétractation un premier code qui permettra d'obtenir auprès de Nvidia un second code pour télécharger le jeu sur Steam.


Top articles