Профилирование программ CUDA с помощью nvprof.
Я описал проблему в Как собирать значение события каждый раз, когда вызывается функция ядра?
Я снова отправляю сообщение о проблеме.
С nvprof --events tex0_cache_sector_queries --replay-mode kernel ./matrixMul
,
или nvprof --events tex0_cache_sector_queries --replay-mode application ./matrixMul
,
что мы можем собрать значения событий результата:
==40013== Profiling application: ./matrixMul
==40013== Profiling result:
==40013== Event result:
"Device","Kernel","Invocations","Event Name","Min","Max","Avg","Total"
"Tesla K80 (0)","void matrixMulCUDA<int=32>(float*, float*, float*, int, int)",301,"tex0_cache_sector_queries",0,30,24,7224
Выше приведен итог. 301-кратное значение вызова tex0_cache_sector_queries , вызываемое функцией ядра matrixMulCUDA. Он просто имеет значение min, max, avg, total для вызова 301 раза, что является итоговым результатом.
Я хочу собрать полные 301 раз значения tex0_cache_sector_queries, которые каждый раз вызывается matrixMulCUDA. С другой стороны, каждый раз, когда вызывается функция ядра matrixMulCUDA, я хочу получить значение события tex0_cache_sector_queries. Как его собрать?