CUDA runtime version vs CUDA version du pilote - quelle est la différence?
Le CUDA Runtime API expose les fonctions
cudaRuntimeGetVersion()
etcudaDriverGetVersion()
(voir la description détaillée ici). J'ai été en quelque sorte d'attendre le premier à me donner "8.0" (pour CUDA 8.0) et le second pour me donner la même chaîne que ce que j'avais l'occasion de l'examen de nVIDIA GPU pilote de module de noyau, par exemple
modinfo nvidia | grep "^version:" | sed 's/^version: *//;'
qui sur mon système est 367.57
.
Maintenant, le premier appel me donne 8000
- fine, juste une façon bizarre de dire 8.0, je suppose; mais le deuxième appel d'API me donne aussi 8000
. Alors, que font ces deux signifie?
L'Exécution documentation de l'API de je lien ne semble pas pour expliquer cela.
OriginalL'auteur einpoklum | 2016-11-14
Vous devez vous connecter pour publier un commentaire.
Le CUDA runtime version indique CUDA compatibilité (c'est à dire la version) par rapport à la installé cudart (CUDA runtime) de la bibliothèque.
Le CUDA de version du pilote (comme indiqué ici) les rapports de la même informations concernant le pilote.
Cela se rapporte à la compatibilité de pilote modèle dans CUDA. Je suis sûr que vous le savez, un particulier CUDA toolkit version (c'est à dire CUDA runtime version de bibliothèque, nvcc version de compilateur, etc.) nécessite une minimum niveau du pilote pour une bonne utilisation des codes compilés avec cette boîte à outils.
Le CUDA de version du pilote (comme indiqué ici) de manière efficace les rapports ce que CUDA version(s) peut être pris en charge par le pilote installé.
Comme vous l'avez déjà découvert, il n'a pas de rapport au réel numérotés à la version du pilote.
Aussi, comment puis-je interpréter les 8000? Sont les trois plus bas chiffres décimaux un seul numéro de version mineure", ou est-il quelque chose comme 8.0.0 ou 8.0.0.0? Après tout, le CUDA de la version 8.0 a été nommé 8.0.44 dernière fois que j'ai téléchargé.
L'étude de la
deviceQuery
cuda exemple de code pour l'interprétation des indices. Il n'y a pas de sous-versions ici. 8000 = CUDA 8Je ne comprends toujours pas. Quelqu'un peut-ELI5? Comment puis-je vérifier ces deux à l'extérieur de code (est-il un moyen via la ligne de commande pour les deux?). Est-il aussi un pilote pour la carte graphique elle-même (donc 3 choses: CUDA runtime, pilote CUDA, Nvidia drive), ou seulement les 2 choses?
1. Il y a un GPU version du pilote. Requête avec
nvidia-smi
. 2. Il y a un CUDA de compatibilité de version associé avec le pilote (mais il y a une correspondance 1:1 entre un GPU version du pilote et de ses associés CUDA version de compatibilité). Lenvidia-smi
outil livré avec des pilotes récents affichera le CUDA de la compatibilité de la version qu'ils ont. 3. Il y a un CUDA runtime version, qui serait associée à l'exécution de l'API que vous utilisez pour construire une particulière d'exécution de code d'API. Vous pouvez interroger ce avecnvcc -v
par exemple, ou ces 2 dernières choses avecdeviceQuery
exemple de code.OriginalL'auteur Robert Crovella