2014-10-01 29 views
1

我使用nvprof來分析一些東西(包括CPU工作和GPU工作,即我使用nvprof標記等),並且我得到nvprof生成的二進制文件。我可以將它們導入到NVVP(NVidia Visual Profiler; Linux版本)中,並且稍加努力就可以將其保存到XML中。如何從nvprof或NVidia Visual Profiler的輸出中獲取定時值?

但是 ... XML不包含有關我的各種CPU何時執行的計時數據。它提到了它們的存在,但沒有更多。另外,XML的末尾在PDM標籤中包含此二進制blob,可能是Base64編碼或其他內容。我不清楚在那裏是否有任何幫助。

回答

2

這是一個相當古老的問題,但也許有人會找到有用的答案。

nvprof輸出文件實際上是SQLite3數據庫,您可以使用獨立的sqlite3程序或以編程方式打開輸出文件。時間軸信息是這些表裏面(所有時間戳都在毫微秒):

  • CUPTI_ACTIVITY_KIND_CONCURRENT_KERNEL - 數據有關內核
  • CUPTI_ACTIVITY_KIND_MEMCPY - 數據關於存儲副本(非P2P)
  • CUPTI_ACTIVITY_KIND_MEMCPY2 - 約P2P存儲器拷貝數據
  • CUPTI_ACTIVITY_KIND_MEMSET - 約memsets
  • CUPTI_ACTIVITY_KIND_RUNTIME數據 - 關於CUDA運行時API調用
  • CUPTI_ACTIVITY_KIND_DRIVER - 關於CUDA驅動程序API調用的數據
  • CUPTI_ACTIVITY_KIND_MARKER - 有關NVTX標記的數據。它與其他表格有一點不同,因爲它沒有startend字段。相反,開始和結束標記爲2項(端有name=0

可以關聯使用correlationId場內核/ memcopies/memsets API調用。

+0

哇,謝謝。雖然我現在沒有試圖這樣做,但在幾個月內,我想我會利用這些信息:-) ...你怎麼知道這些,順便說一下? – einpoklum 2016-11-23 16:49:52

+0

我在NVIDIA工作;-)。但它實際上被記錄(至少事實上它是SQLite3數據庫),儘管我同意在整個文檔中發現1是很難的。你打算如何使用它? – ptrendx 2016-11-23 18:57:10

+0

自動化性能基準統計信息收集。如果你想了解更多細節,請通過https://github.com/eyalroz找到我。 – einpoklum 2016-11-23 19:58:29

相關問題