Felsöka CNTK källkod i Visual Studio
Stegen för att felsöka CUDA-kernels:
- Installera NVIDIA Nsight enligt anvisningarna härifrån
- Följ anvisningarna för "Lokal felsökning".
- Ange miljövariabeln NSIGHT_CUDA_DEBUGGER = 1.
- Kör Visual Studio och Nsight-övervakaren som administratör.
- I Nsight Monitor-Options-CUDA>> anger du "Använd den här övervakaren för CUDA-bifoga" till Sant. Du kan behöva starta om Nsight. Kör som administratör igen.
- I Visual Studio går du till Nsight-Alternativ> och kontrollerar att alternativen stämmer överens med alternativen i Nsight-övervakaren (t.ex. att portarna är desamma). Se särskilt till att "Upprätta säker anslutning" är samma i båda.
- Högerklicka på MathCUDA-projektet i lösningsutforskaren och gå till Egenskaper.
- Gå till Konfigurationsegenskaper –> CUDA C/C++ –> Enhet och ange Generera GPU-felsökningsinformation till Ja
- Gå till Konfigurationsegenskaper –> CUDA Linker –> Allmänt och ange Generera GPU-felsökningsinformation till Ja
- Lägg till brytpunkterna i kerneln, återskapa CNTK och gör dig redo att köra det du försöker felsöka.
- I VS går du till Felsök –> Anslut till process, ställer in Transport på Nsight GPU-felsökare och anger Qualifier till localhost.
- Starta CNTK.
- Klicka på Uppdatera och leta upp CNTK i processlistan och bifoga sedan. När den når en brytpunkt bör du kunna se alla dina lokala variabler från kerneln. Om du bara ser CUDA-globaler som threadIdx och blockIdx har du inte angett GPU-felsökningsflaggorna korrekt i MathCUDA-egenskaperna.