La GTC16 de Nvidia en direct de San José

IMG0050216

Comme chaque année, Nvidia organise la GPU Technology Conference (GTC), sa grand messe annuelle lors de laquelle toutes les possibilités d'exploitation des GPU sont mises en avant à travers plusieurs centaines de sessions réparties sur 4 jours.

Si l'aspect graphique y conserve une place importante et le jeu vidéo un petit espace, c'est avant tout le monde professionnel et le GPU Computing qui y sont mis à l'honneur. A côté des sessions organisées directement par Nvidia, de nombreux acteurs de l'industrie viennent y présenter les résultats de travaux en tous genres mais qui ont tous pour particularité de bénéficier de l'accélération offerte par les GPU.

Cette année le focus est placé sur le deep learning et nous attendons quelques premières informations sur Pascal, la future architecture GPU de Nvidia.

Afficher sous forme de : Titre | Flux Filtrer avec un second tag : CUDA; GeForce; GP100; GPGPU; GTC; Nvidia; Pascal; PCI Express 3.0; Quadro; Tesla;

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