【发布时间】:2013-05-10 00:18:07
【问题描述】:
我使用两个内核,我们称它们为 A 和 B。
我运行了 CUDA 分析器,这是它返回的内容:
第一个内核有 44% 的开销,而第二个内核有 20%。
但是,如果我决定按照这个逻辑找出实际的执行时间:
timeval tim;
gettimeofday(&tim, NULL);
double before = tim.tv_sec+(tim.tv_usec/1000000.0);
runKernel<<<...>>>(...)
gettimeofday(&tim, NULL);
double after=tim.tv_sec+(tim.tv_usec/1000000.0);
totalTime = totalTime + after - before;
totalTime 会非常小,大约为 0.0001 秒。
我是 CUDA 的新手,我不明白到底发生了什么。我应该尝试使内核更高效还是它们已经高效?
【问题讨论】:
标签: performance cuda kernel profiler