Condividi tramite


Debug CNTK codice sorgente in Visual Studio

I passaggi per il debug dei kernel CUDA:

  1. Installare NVIDIA Nsight seguendo le istruzioni da qui
  2. Seguire le istruzioni per "Debug locale".
  3. Impostare la variabile di ambiente NSIGHT_CUDA_DEBUGGER = 1.
  4. Eseguire Visual Studio e il monitoraggio di Nsight come amministratore.
  5. In Nsight Monitor-Options-CUDA>> impostare "Use this monitor for CUDA attach" (Usa questo monitoraggio per il collegamento CUDA) su True. Potrebbe essere necessario riavviare Nsight. Eseguire di nuovo come amministratore.
  6. In Visual Studio passare a Nsight-Options> e assicurarsi che le opzioni corrispondano alle opzioni in Monitoraggio Nsight (ad esempio, le porte sono le stesse). In particolare, assicurarsi che "Stabilire una connessione sicura" sia lo stesso in entrambi.
  7. Fare clic con il pulsante destro del mouse sul progetto MathCUDA in Esplora soluzioni e passare a Proprietà.
  8. Passare a Proprietà di configurazione -> CUDA C/C++ -> Dispositivo e impostare Genera informazioni di debug GPU su Sì
  9. Passare a Proprietà di configurazione -> Linker CUDA -> Generale e impostare Genera informazioni di debug GPU su Sì
  10. Aggiungere i punti di interruzione nel kernel, ricompilare CNTK e prepararsi a eseguire qualsiasi operazione che si sta tentando di eseguire il debug.
  11. In Visual Studio passare a Debug -> Connetti a processo, impostare Trasporto su Debugger GPU Nsight e impostare Qualificatore su localhost.
  12. Avviare CNTK.
  13. Fare clic su Aggiorna e trovare CNTK nell'elenco dei processi, quindi allegare. Quando raggiunge un punto di interruzione, dovrebbe essere possibile visualizzare tutte le variabili locali dal kernel. Se vengono visualizzati solo i global CUDA come threadIdx e blockIdx, non sono stati impostati correttamente i flag di debug GPU nelle proprietà MathCUDA.