Udostępnij przez


Debugowanie kodu źródłowego CNTK w Visual Studio

Kroki debugowania jąder CUDA:

  1. Zainstaluj usługę NVIDIA Nsight zgodnie z instrukcjami z tego miejsca
  2. Postępuj zgodnie z instrukcjami dotyczącymi debugowania lokalnego.
  3. Ustaw zmienną środowiskową NSIGHT_CUDA_DEBUGGER = 1.
  4. Uruchom Visual Studio i monitor Nsight jako administrator.
  5. W obszarze Nsight Monitor-Options-CUDA>> ustaw wartość "Use this monitor for CUDA attach" (Użyj tego monitora dla dołączania CUDA) na wartość True. Może być konieczne ponowne uruchomienie serwera Nsight. Uruchom ponownie jako administrator.
  6. W Visual Studio przejdź do pozycji Nsight-Options> i upewnij się, że opcje są zgodne z opcjami w monitorze Nsight (np. porty są takie same). Szczególnie upewnij się, że opcja "Ustanawianie bezpiecznego połączenia" jest taka sama w obu tych przypadkach.
  7. Kliknij prawym przyciskiem myszy projekt MathCUDA w Eksploratorze rozwiązań i przejdź do pozycji Właściwości.
  8. Przejdź do pozycji Właściwości konfiguracji —> CUDA C/C++ —> urządzenie i ustaw pozycję Generuj informacje debugowania procesora GPU na wartość Tak
  9. Przejdź do pozycji Właściwości konfiguracji —> konsolidator CUDA —> ogólne i ustaw pozycję Generuj informacje debugowania procesora GPU na wartość Tak
  10. Dodaj punkty przerwania w jądrze, skompiluj CNTK i przygotuj się do uruchomienia dowolnego debugowania.
  11. W programie VS przejdź do pozycji Debuguj —> dołącz do procesu, ustaw opcję Transport na Nsight GPU Debugger i ustaw pozycję Kwalifikator na localhost.
  12. Uruchom CNTK.
  13. Kliknij pozycję Odśwież i znajdź CNTK na liście procesów, a następnie dołącz. Po osiągnięciu punktu przerwania powinno być możliwe wyświetlenie wszystkich zmiennych lokalnych z jądra. Jeśli widzisz tylko globalne cuda, takie jak threadIdx i blockIdx, flagi debugowania procesora GPU nie zostały prawidłowo ustawione we właściwościach MathCUDA.