Les contenus liés aux tags Nvidia et GTC16

GTC: Deep-learning : +70% pour Pascal

Tags : GTC; GTC16; Nvidia; Pascal;
Publié le 05/04/2016 à 08:02 par Damien Triolet

Au détour d'une présentation consacrée à ses outils spécifiques au deep learning, soit à l'apprentissage progressif par un réseau de neurones artificiels, Nvidia a débuté le teasing concernant les performances de sa future architecture Pascal :

Nvidia fait évoluer régulièrement sa librairie cuDNN (CUDA Deep Neural Network) et en propose des évolutions majeures pour ses nouvelles architectures GPU. Ces évolutions vont d'ailleurs de pair pour booster les performances : cuDNN v1 avec une Tesla K40 (GK110) a doublé les performances par rapport aux précédentes solutions et cuDNN v3 avec une Tesla M40 (GM200) sous architecture Maxwell les a plus que triplées (6.25X).

Le deep learning étant l'une des priorités principales de Nvidia avec les performances en jeu, Pascal va bien entendu pousser la barre encore plus haut dans ce domaine. Il est ainsi question de 10.5X, soit +70% par rapport au GM200, pour un GPU Pascal indéterminé associé à cuDNN v5.

Difficile cependant de juger des performances globales de ce GPU Pascal sur base de ce seul chiffre puisqu'il reste bien entendu à savoir dans quelle proportion ces gains proviennent d'une augmentation de la puissance brute du GPU ou d'optimisations de l'architecture spécifiques au deep learning. Nous devrions en apprendre un peu plus dans le courant de la semaine.

GTC: Multi-Res Shading, pas que pour la VR ?

Tags : GTC; GTC16; Nvidia;
Publié le 05/04/2016 à 07:37 par Damien Triolet

Lors d'une session consacrée à la suite VRWorks, soit l'ensemble des technologies que Nvidia propose pour améliorer l'exploitation de la VR, John Spitzer, Vice Président du GameWorks Labs, est revenu sur le Multi-Resolution Shading et les futures possibilités offertes par cette approche.

Pour rappel, la déformation des images pour s'adapter aux lentilles des casques de réalité virtuelle réduit la résolution en périphérie. Une perte qui n'est pas très importante puisque le regarde se porte vers le centre de l'image, mais des pixels ont été calculés alors qu'ils n'apportent qu'un bénéficie limité. Le Multi-Resolution Shading part de ce constat pour réduire directement la résolution lors du rendu de l'image. Une perte de qualité minimale en périphérie qui permet un gain substantiel sur le plan des performances.

Si cette approche a été développée pour la réalité virtuelle, Nvidia envisage cependant de la proposer pour l'affichage sur des écrans classiques. C'est d'ailleurs ce format que Nvidia a utilisé à la GTC pour faire la démonstration du Multi-Resolution Shading et le résultat était loin d'être mauvais, tout du moins sur le grand écran de la salle de présentation.

Nvidia explique que certains jeux pour lesquels le regard du joueur doit se porter sur le centre de l'image pourraient être de bons candidats. C'est le cas de certains fps, d'autant plus que le champ de vision classique fait que les textures sont étirées sur les côtés de l'images et perdent donc déjà en résolution, ce qui amoindrit quelque peu l'impact de cette optimisation qui pourrait être bienvenue pour certains GPU d'entrée de gamme ou encore pour faciliter le passage à la 4K.

Nvidia envisage également une solution de type eye tracking qui permettrait de toujours conserver la pleine résolution là où se porte le regard du joueur. Un eye tracking basique à 60 Hz (ce qui est très loin d'être idéal) produirait déjà de bons résultats si la marge de sécurité est suffisante autour de la zone où le regard est détecté.

Ce ne sont encore que des expérimentations, mais il est possible que Nvidia propose d'ici quelques temps ce type d'optimisation optionnelle soit directement via ses pilotes soit indirectement via les moteurs de jeux.

GTC: VKCPP et NVK pour simplifier Vulkan

Tags : GTC; GTC16; Nvidia; Vulkan;
Publié le 05/04/2016 à 06:56 par Damien Triolet

Lors de la GDC, nous vous indiquions qu'Imagination proposait un framework destiné à faciliter l'utilisation de l'API Vulkan. Avec VKCPP et surtout NVK dévoilé à l'occasion de la GPU Technology Conference (GTC), Nvidia suit la même voie.

Comme vous l'aurez sans aucun doute compris, maîtriser les nouvelles API de bas niveau est loin d'être aisé. Si elles ouvrent de nouvelles possibilités et permettent aux meilleurs développeurs de produire un code plus efficace sur le plan des performances, elles sont moins abordables et les opportunités explosent pour les bugs en tout genre. Proposer des outils qui en simplifient la bonne exploitation est donc assez logique pour Nvidia et particulièrement en ce qui concerne Vulkan qui va intéresser les développeurs au-delà du jeu vidéo, domaine qui peut se satisfaire plus facilement d'API complexes mais bien exploitées par une poignée de gros moteurs de jeu. Le potentiel de cette API est en effet très varié du côté professionnel mais encore faut-il convaincre les développeurs de sauter le pas.

Lors de l'annonce du framework d'Imagination, Nvidia nous avait indiqué également proposer un outil similaire avec Vulkan C++, ou VKCPP. Ce n'était en fait pas tout à fait correct, mais Nvidia travaille également sur NVK qui s'en rapproche beaucoup.

 
 

VKCPP est un portage de Vulkan, une API de type C, vers C++. Certains aspects du code gagnent en clarté, d'autres peuvent être condensés et le compilateur s'assure de la validité de certaines commandes, là où Vulkan classique va autoriser des opérations qui les pilotes n'acceptent pas. Nvidia précise cependant que VKCPP reste une solution destinée aux experts, qui ne rend pas réellement plus abordable l'API Vulkan.

Une solution différente destinée à s'attaquer à ce problème est cependant en développement, NVK, son nom de code actuel (il pourrait changer).

 
 

Le but de NVK est de permettre aux développeurs d'obtenir un premier résultat très rapidement. Pour cela, ce framework va proposer des fonctions simples pour les tâches de routine telles que le suivi des ressources, l'allocation de la mémoire, la préparation du framebuffer etc. NVK empêche également les développeurs de faire par erreur des opérations qui n'ont aucun sens mais qui peuvent entraîner toute une série de bugs plus ou moins difficiles à corriger.

Au final, la démo HelloVulkan de Nvidia, qui consiste simplement à dessiner un triangle, demande 750 lignes de code avec l'API Vulkan classique. En passant par le prototype actuel du framework NVK, 200 lignes de code suffisent. Et même si une bonne partie de ces lignes de code supprimées représentent des aspects triviaux pour la plupart des développeurs, ils sont surtout des sources de bugs potentiels éliminées.

Par ailleurs, ce n'est pas seulement le développement initial qui se trouve simplifié, mais également l'évolution et la maintenance du code. Des aspects cruciaux pour bon nombre de développeurs. Reste cependant à voir si Nvidia compte proposer des back-ends pour des solutions autres que ses propres GPU. Ce ne sera peut-être pas directement le cas, mais VKCPP est un projet open source disponible sur GitHub  et de toute évidence il devrait en être de même pour NVK.

Vous pourrez retrouver la présentation complète de Nvidia ci-dessous :

 
 

Top articles