簡體   English   中英

NVIDIA Visual Profiler:kernel 邊界數據不足

[英]NVIDIA Visual Profiler: Insufficient kernel bounds data

我試圖了解為什么我的 CUDA kernel 的性能相對較低,我希望通過 NVIDIA 分析器得到一些答案。

我的 CUDA 程序是一個大型應用程序的“簡化”版本,用於隔離和運行有問題的 kernel。 該程序多次啟動 kernel 以測量其執行時間作為多次啟動的平均值。 在計時循環之后,發出從設備到主機的 memory 副本,以確保所有 kernel 調用都已完成。 程序用 CUDA C++ 編寫。

這就是我構建程序的方式:

main.o: main.cu
    nvcc -res-usage -arch=sm_61  -c $<

main: main.o stopwatch.o
    g++ -o $@ $^ -lcudart -L/usr/local/cuda-11.0/lib64

該測試是在配備 Intel CPU 和 NVIDIA GeForce GTX 1070 的 PC 上完成的。操作系統是 Ubuntu 20.04,帶有來自 NVIDIA 網站的新安裝的 CUDA 11 以及驅動程序 450.51.06:

nvidia-smi:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 1070    On   | 00000000:01:00.0  On |                  N/A |
| 28%   38C    P8     8W / 151W |    317MiB /  8111MiB |      3%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

以下命令用於生成分析文件:

sudo /usr/local/cuda-11.0/bin/nvprof -o main.nvvp --profile-from-start off./main

我也嘗試從一開始就進行分析,但它會導致下面的相同問題。

以下命令用於啟動可視分析器:

nvvp -vm /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java main.nvvp

視覺分析器引導我完成幾個步驟,當涉及到“執行 Kernel 分析”時,程序告訴我:

kernel 邊界數據不足。 無法收集計算 memory 和延遲范圍所需的數據 kernel

我的 GPU 上沒有這種詳細的分析嗎? (可能是因為是玩家卡)

默認情況下, nvprof只會在它生成的 output 文件中捕獲少量信息。 當 output 文件導入nvvp時,這足以生成應用程序時間線,但信息不足以啟用nvvp的所有不同功能。

根據文檔,建議將nvprof--analysis-metrics開關用於此類用途。

--analysis-metrics在分析器文檔中被引用了大約 6 次,因此您可能只想搜索它以查看其使用的所有參考或建議。

請注意, --analysis-metrics可以捕獲大量信息。 對於大型、復雜的應用程序,它可能會大大增加分析器處理數據的時間。 因此,如果您明確知道要查找哪些數據,則可能希望指定特定的指標。 但是,如果沒有--analysis-metrics ,導入文件時各種nvvp分析工具可能無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM