IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

NVIDIA annonce la nouvelle version de CUDA, l'API de calcul sur processeur graphique
S'enrichit d'une bibliothèque de décodage d'images JPEG

Le , par dourouc05

252PARTAGES

12  0 
En même temps que la sortie de sa nouvelle génération de cartes graphiques (Turing), NVIDIA annonce la prochaine version de sa suite logicielle pour l’exécution de codes de calcul sur ses processeurs graphiques : CUDA 10. Cette API est loin d’être remplacée par OpenCL et NVIDIA s’efforce de garder une certaine avance par rapport à l’API concurrente (mais librement implémentable). CUDA 10 n’est pas encore disponible au téléchargement, mais sa version finale sortira en 2018.

La version 10, outre la gestion des cartes Turing, apporte des améliorations habituelles de performance dans ses bibliothèques de calcul : la transformée de Fourier rapide (FFT) s’exécute plus vite sur plusieurs GPU (NVIDIA parle même de mise à l’échelle forte sur seize cartes), les routines d’algèbre linéaire dense (factorisation de Cholesky et valeurs propres) sont plus rapides, certains noyaux ont été optimisés pour les spécificités de gestion des précisions multiples de Turing.

Une nouvelle bibliothèque fait son apparition : nvJPEG, pour le décodage d’images au format JPEG (une par une ou bien en lot) et la conversion d’espaces colorimétriques. Le décodeur peut fonctionner tant uniquement sur la carte graphique qu’en mode hybride, en exploitant aussi le CPU. Les avantages sont un meilleur débit et une latence diminuée : nvJPEG peut décoder plus d’images par seconde qu’un CPU, mais prend aussi moins de temps par image. Ses applications prévues sont la vision par ordinateur, notamment par apprentissage profond : la plupart des images utilisées sont au format JPEG, qui prend relativement peu de place sur le disque. En sus, nvJPEG peut effectuer certaines opérations directement au même moment que le chargement, comme des translations, une mise à l’échelle, etc. Une préversion est déjà disponible.


Dans les nouvelles fonctionnalités, on compte aussi un nouveau mécanisme d’interopérabilité avec les API de rendu comme DirectX 12 et Vulkan, à destination principalement des applications en temps réel comme les jeux. La famille d’outils de développement Nsight s’enrichit de Systems (pour l’analyse de performance à l’échelle d’un système complet) et de Compute (plus spécifiquement pour les noyaux de calcul, avec une collection de données rapide et une interface entièrement programmable).


La microarchitecture de Turing promet également des modifications au niveau des capacités de calcul (Compute Capability). Par exemple, les cœurs tensoriels peuvent fonctionner avec d’autres précisions : jusqu’à présent, ils étaient limités à des nombres à virgule flottante sur demi-précision (seize bits) ; avec Turing, ils pourront descendre jusque des entiers sur huit et même quatre bits (avec des calculs respectivement deux et quatre fois plus rapides). Sur certaines applications, ces quelques modifications seront probablement très utiles à NVIDIA pour garantir une performance excellente — mais seulement sur quelques niches : avec quatre bits, on ne peut représenter que seize valeurs différentes…


Les multiprocesseurs de flux (SM) évoluent également, dans les cœurs de calcul (CUDA). Notamment, Volta avait séparé les parties effectuant des calculs sur des entiers, de telle sorte qu’il devient possible de travailler, exactement en même temps, sur des entiers et des nombres à virgule flottante. Ceci permet d’accélérer grandement des opérations de génération d’adresse, notamment.

Les unités arithmétiques et logiques de ces multiprocesseurs voient aussi la gestion des précisions inférieures de manière plus générale : toutes les opérations autrefois exclusivement FP32 peuvent être effectuées avec une précision moindre (FP16), à une vitesse double. Ceci était utile pour les réseaux neuronaux, mais l’est tout autant pour certains jeux.


Sources : Announcing CUDA Toolkit 10, NVIDIA Reveals Next-Gen Turing GPU Architecture: NVIDIA Doubles-Down on Ray Tracing, GDDR6, & More.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Matthieu76
Membre éclairé https://www.developpez.com
Le 01/10/2018 à 10:12
Ça a l'air vraiment cool ce système de graph, ça me donne presque envie de me remettre au CUDA, malheureusement je n'ai pas le temps ...
En tout cas cela semble beaucoup plus simple pour tout ce qui est calculs de graph, réseaux de neurones, et autres algorithmes. D'autant plus que la plupart des algos peuvent être représenter sous forme de graph.
0  0 
Avatar de BPStA
Futur Membre du Club https://www.developpez.com
Le 10/10/2018 à 12:41
Bonjour,

J'utilise Visual studio 2015 et CUDA. Passer à Visual Studio 2017 community et CUDA, annoncé récemment comme enfin possible, est tout sauf simple. Je n'ai pas encore réussi à les faire fonctionner ensemble. Existe-t-il une note détaillée d'installation ?
0  0 
Avatar de Matthieu76
Membre éclairé https://www.developpez.com
Le 11/10/2018 à 12:57
Je ne sais pas trop mais au début j'avais eu des problème d’installation, j'avais du repasser à MSVC2015. C'était il y a un peu plus d'un an et à l'époque j'utilisait QtCreator comme IDE. Je suis dispo pour d'aider si tu veux. C'est quoi ton problème exactement ?
0  0