Partager via


Débogage CNTK code source dans Visual Studio

Étapes de débogage des noyaux CUDA :

  1. Installer NVIDIA Nsight en suivant les instructions d’ici
  2. Suivez les instructions pour « Débogage local ».
  3. Définissez la variable d’environnement NSIGHT_CUDA_DEBUGGER = 1.
  4. Exécutez Visual Studio et le moniteur Nsight en tant qu’administrateur.
  5. Dans Nsight Monitor-Options-CUDA>>, définissez « Utiliser ce moniteur pour l’attachement CUDA » sur True. Vous devrez peut-être redémarrer Nsight. Réexécutez en tant qu’administrateur.
  6. Dans Visual Studio, accédez à Nsight-Options et assurez-vous> que les options correspondent à vos options dans le moniteur Nsight (par exemple, les ports sont identiques). Assurez-vous en particulier que « Établir une connexion sécurisée » est identique dans les deux.
  7. Cliquez avec le bouton droit sur le projet MathCUDA dans l’Explorateur de solutions et accédez à Propriétés.
  8. Accéder aux propriétés de configuration -> CUDA C/C++ -> Appareil et définir Générer des informations de débogage GPU sur Oui
  9. Accéder aux propriétés de configuration -> Éditeur de liens CUDA -> Général et définir Générer des informations de débogage GPU sur Oui
  10. Ajoutez vos points d’arrêt dans votre noyau, régénérez CNTK et préparez-vous à exécuter tout ce que vous essayez de déboguer.
  11. Dans VS, accédez à Déboguer -> Attacher au processus, définissez Transport sur le débogueur GPU Nsight et définissez Le qualificateur sur localhost.
  12. Démarrez CNTK.
  13. Cliquez sur Actualiser et rechercher CNTK dans la liste des processus, puis joignez-vous. Quand il atteint un point d’arrêt, vous devez être en mesure de voir toutes vos variables locales à partir du noyau. Si vous voyez uniquement des globals CUDA comme threadIdx et blockIdx, vous n’avez pas correctement défini les indicateurs de débogage GPU dans les propriétés MathCUDA.