2017-04-30 5 views
0

Je fais une expérience simple. Tout le monde peut savoir sur callback_metric exemple de code de CUPTI (situé dans le dossier CUPTI: ​​/usr/local/cuda/extras/CUPTI/sample/callback_metric). Il contient uniquement un code simple pour lire une mesure lors de l'exécution d'un noyau vectorAdd. Tout fonctionne quand je compile et exécute le code.Impossible de profiler un code cuda avec nvprof lorsque vous utilisez les fonctions CUPTI à l'intérieur

Mais quand je lance ce code sous nvprof commande (nvprof ./callback_metric), je reçois un message d'erreur:

Error: incompatible CUDA driver version 

à la fois nvprof et autres codes basés sur CUPTI fonctionnent très bien séparément.

Répondre

1

Les profileurs ne sont pas destinés à être utilisés de cette manière avec des applications qui utilisent CUPTI.

Ceci est documenté dans le profileur documentation:

Voici quelques raisons pour lesquelles Visual Profiler peut échouer pour recueillir des informations métriques ou d'un événement. Plus d'un outil tente d'accéder au GPU. Pour résoudre ce problème, assurez-vous qu'un seul outil utilise le GPU à un moment donné. Les outils incluent le profileur de ligne de commande CUDA, les outils d'analyse et les outils graphiques Parallel NSight et les applications qui utilisent CUPTI ou l'API PerfKit (NVPM) pour lire les valeurs d'événement.