0
是否可以使用nvprof
來計算CUDA內核執行次數(即啓動了多少個內核)?使用nvprof對CUDA內核執行進行計數
現在當我運行nprof我所看到的是:
==537== Profiling application: python tf.py
==537== Profiling result:
Time(%) Time Calls Avg Min Max Name
51.73% 91.294us 20 4.5640us 4.1280us 6.1760us [CUDA memcpy HtoD]
43.72% 77.148us 20 3.8570us 3.5840us 4.7030us [CUDA memcpy DtoH]
4.55% 8.0320us 1 8.0320us 8.0320us 8.0320us [CUDA memset]
==537== API calls:
Time(%) Time Calls Avg Min Max Name
90.17% 110.11ms 1 110.11ms 110.11ms 110.11ms cuDevicePrimaryCtxRetain
6.63% 8.0905ms 1 8.0905ms 8.0905ms 8.0905ms cuMemAlloc
0.57% 700.41us 2 350.21us 346.89us 353.52us cuMemGetInfo
0.55% 670.28us 1 670.28us 670.28us 670.28us cuMemHostAlloc
0.28% 347.01us 1 347.01us 347.01us 347.01us cuDeviceTotalMem
...
我更新了我在運行nprof時看到的問題。我沒有看到任何叫做內核的東西。 –
我可以考慮兩種可能性:1.你的python代碼沒有進行任何(成功的)內核調用 - 你在做適當的錯誤檢查嗎?你確定知道內核被調用嗎? 2.你可能需要告訴nvprof來描述子進程 - 如何做到這一點在我鏈接的文檔中有介紹。這將取決於你在'tf.py'中發佈什麼類型的工作 - 可能是tensorflow。 –
好的,結果沒有內核被調用。 –