Fouten opsporen CNTK broncode in Visual Studio
De stappen voor foutopsporing van CUDA-kernels:
- NVIDIA Nsight installeren volgens de instructies hier
- Volg de aanwijzingen voor 'Lokale foutopsporing'.
- Stel de omgevingsvariabele in NSIGHT_CUDA_DEBUGGER = 1.
- Voer Visual Studio uit en de Nsight-monitor als beheerder.
- Stel in Nsight Monitor-Options-CUDA>> 'Use this monitor for CUDA attach' in op True. Mogelijk moet u Nsight opnieuw starten. Voer opnieuw uit als beheerder.
- Ga in Visual Studio naar Nsight-Options> en zorg ervoor dat de opties overeenkomen met uw opties in Nsight Monitor (bijvoorbeeld de poorten zijn hetzelfde). Zorg er vooral voor dat 'Beveiligde verbinding tot stand brengen' hetzelfde is in beide.
- Klik met de rechtermuisknop op het MathCUDA-project in Solution Explorer en ga naar Eigenschappen.
- Ga naar Configuratie-eigenschappen -> CUDA C/C++ -> Apparaat en stel GPU-foutopsporingsgegevens genereren in op Ja
- Ga naar Configuratie-eigenschappen -> CUDA Linker -> Algemeen en stel GPU-foutopsporingsgegevens genereren in op Ja
- Voeg uw onderbrekingspunten toe aan uw kernel, bouw CNTK opnieuw en bereid u voor om alles uit te voeren wat u probeert op te sporen.
- Ga in VS naar Foutopsporing -> Koppelen aan proces, stel Transport in op Nsight GPU Debugger en stel Qualifier in op localhost.
- Startmenu CNTK.
- Klik op Vernieuwen en zoek CNTK in de proceslijst en voeg deze toe. Wanneer het een onderbrekingspunt bereikt, moet u al uw lokale variabelen van de kernel kunnen zien. Als u alleen CUDA globals zoals threadIdx en blockIdx ziet, hebt u de GPU-foutopsporingsvlaggen niet correct ingesteld in de eigenschappen MathCUDA.