Débogage CNTK code source dans Visual Studio
Étapes de débogage des noyaux CUDA :
- Installer NVIDIA Nsight en suivant les instructions d’ici
- Suivez les instructions pour « Débogage local ».
- Définissez la variable d’environnement NSIGHT_CUDA_DEBUGGER = 1.
- Exécutez Visual Studio et le moniteur Nsight en tant qu’administrateur.
- 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.
- 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.
- Cliquez avec le bouton droit sur le projet MathCUDA dans l’Explorateur de solutions et accédez à Propriétés.
- 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
- 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
- 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.
- 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.
- Démarrez CNTK.
- 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.