2017-06-29 2 views
1

Ich versuche, meinen Code Nivida Profiler zu profilieren, aber ich bin immer seltsame Lücken in der Timeline wie unten dargestellt:Nvidia CUDA Profiler Timeline enthält viele große Lücken

Timeline Gaps

Hinweis: beide Kerne an den Rändern der Lücken sind CudaMemCpyAsync (Host-zu-Gerät)

Ich bin auf Ubuntu 14.04 mit der neuesten Version von CUDA, 8.0.61 und neuesten Nvidia-Display-Treiber ausgeführt.

Intel integrierte Grafikkarte wird im Display nicht Nvidia verwendet. Also, Nvidia Grafikkarte läuft nur den Code, nichts anderes.

Ich habe CPU-Profilierung auch aktiviert, um diese Lücken zu überprüfen, aber nichts wird angezeigt!

Cpu Profiling is enabled

Auch werden keine Debugging-Optionen aktiviert (-G noch -g) und dies ist ein "Release-Build"

No Debugging options are enabled

specs Mein Laptop:

  • Intel Core i7 4720HQ
  • Nvidia GTX 960m
  • 16GB DDR3 Ram
  • 1 TB Festplatte

Gibt es trotzdem zu verfolgen, was in diesem leeren Zeitschlitzen geschieht?

Danke,

Antwort

2

Ich fürchte keine automatischen Methoden gibt es, aber Sie können benutzerdefinierte Spuren in Ihrem Code zu finden, was los ist hinzuzufügen:

zu tun, dass Sie NVTX verwenden können.

folgen Sie den Links für einige tutorials oder documentation.

Diese Profilierungslöcher sind wahrscheinlich auf das Laden von Daten, Speicherzuweisungen/-initialisierungen durch den Host zwischen den Ausführungen Ihres Kernels zurückzuführen.

+0

Ich werde das versuchen und mein Feedback posten. Danke – LightXXV

+0

Nun, es hat funktioniert. Diese Lücken waren eigentlich CPU-Codes, die ich schrieb, um Eingabedaten von der Festplatte zu lesen, aber ich wusste nicht, dass sie so lange brauchen. Vielen Dank :) – LightXXV

Verwandte Themen