Partilhar via


Depurar CNTK código fonte em Visual Studio

Os passos para depurar os núcleos cuda:

  1. Instale nvidia Nsight seguindo as direções daqui
  2. Siga as instruções para "Depuragem Local".
  3. Desaprote a variável ambiente NSIGHT_CUDA_DEBUGGER = 1.
  4. Executar Visual Studio e o monitor Nsight como administrador.
  5. No Nsight Monitor-Options-CUDA>>, desemote "Utilize este monitor para a ligação CUDA" à True. Talvez tenhas de reiniciar o Nsight. Correrá como administrador novamente.
  6. Em Visual Studio, vá à Nsight-Options e certifique-se> de que as opções coincidem com as suas opções no monitor Nsight (por exemplo, as portas são as mesmas). Certifique-se especialmente de que "Estabelecer uma ligação segura" é o mesmo em ambos.
  7. Clique direito no projeto MathCUDA no explorador de solução e vá para Propriedades.
  8. Vá a Propriedades de Configuração -> CUDA C/C++ -> Dispositivo e desconte Debug DEBUG GPU para Sim
  9. Ir para Propriedades de Configuração -> CUDA Linker -> Geral e definir Gerar Informações de Depuração GPU para Sim
  10. Adicione os seus pontos de rutura no seu núcleo, reconstrua CNTK, e prepare-se para executar o que estiver tentando depurar.
  11. Em VS, vá a Debug -> Attach to Process, desloque o Transporte para a Nsight GPU Debugger, e coloque a Qualificação na localidade.
  12. Começa CNTK.
  13. Clique em atualizar e encontre CNTK na lista de processos e, em seguida, anexe. Quando atingir um ponto de rutura, deve ser capaz de ver todas as suas variáveis locais a partir do núcleo. Se você só vê globales CUDA como threadIdx e blockIdx, você não definiu corretamente as bandeiras de GPU Debug nas propriedades MathCUDA.