Compartir a través de


Depuración CNTK código fuente en Visual Studio

Los pasos para depurar kernels de CUDA:

  1. Instalación de NVIDIA Nsight siguiendo las instrucciones de aquí
  2. Siga las instrucciones para "Depuración local".
  3. Establezca la variable de entorno NSIGHT_CUDA_DEBUGGER = 1.
  4. Ejecute Visual Studio y el monitor de Nsight como administrador.
  5. En Nsight Monitor-Options-CUDA>>, establezca "Use this monitor for CUDA attach" (Usar este monitor para adjuntar CUDA) en True. Es posible que tenga que reiniciar Nsight. Vuelva a ejecutar como administrador.
  6. En Visual Studio, vaya a Nsight-Options (Opciones de Nsight)> y asegúrese de que las opciones coincidan con las opciones del monitor de Nsight (por ejemplo, los puertos son los mismos). Especialmente asegúrese de que "Establecer conexión segura" es la misma en ambos.
  7. Haga clic con el botón derecho en el proyecto MathCUDA en el explorador de soluciones y vaya a Propiedades.
  8. Vaya a Propiedades de configuración -> CUDA C/C++ -> Dispositivo y establezca Generar información de depuración de GPU en Sí.
  9. Vaya a Propiedades de configuración -> CUDA Linker -> General y establezca Generar información de depuración de GPU en Sí.
  10. Agregue los puntos de interrupción en el kernel, recompile CNTK y prepárese para ejecutar lo que esté intentando depurar.
  11. En VS, vaya a Depurar:> asociar al proceso, establezca Transporte a Depurador de GPU de Nsight y establezca Calificador en localhost.
  12. Inicie CNTK.
  13. Haga clic en Actualizar y busque CNTK en la lista de procesos y, a continuación, adjunte. Cuando alcanza un punto de interrupción, debería poder ver todas las variables locales del kernel. Si solo ve los globales CUDA como threadIdx y blockIdx, no ha establecido correctamente las marcas de depuración de GPU en las propiedades mathCUDA.