Я использую nvprof
, чтобы связать мое приложение cuda с командой
nvprof -f -o nvvp.log --log-file nvprof.log --profile-from-start off --print-gpu-trace ./myApp
Но содержание nvprof.log
неточно. Время запуска некоторых ядер идентично из-за этой неточности. Например,
Start Duration Grid Size Block Size Regs* SSMem* DSMem* Size Throughput SrcMemType DstMemType Device Context Stream Name
...
10.0681s 40.801us - - - - - 512.00KB 11.967GB/s Device Pinned TITAN Xp (0) 1 109 [CUDA memcpy DtoH]
10.0681s 40.898us - - - - - 512.00KB 11.939GB/s Device Pinned TITAN Xp (0) 1 109 [CUDA memcpy DtoH]
...
Однако содержание nvvp.log
показывает точное время, подобное этому
Я пыталсяизмените единицу времени в nvprof.log
с помощью опции nvprof
-u us
. Тогда файл результата nvprof.log
также неточен в следующем формате
Start Duration Grid Size Block Size Regs* SSMem* DSMem* Size Throughput SrcMemType DstMemType Device Context Stream Name
9.56e+06 36.06500 (2048 1 1) (256 1 1) 16 0 0.000000 - - - - TITAN Xp (0) 1 110 fun(char*, long, int, int*) [772]
9.56e+06 34.97700 (2048 1 1) (256 1 1) 16 0 0.000000 - - - - TITAN Xp (0) 1 107 fun(char*, long, int, int*) [774]
...
Есть ли способ сделать время в nvprof.log
таким же точным, как и в nvvp.log
?