【发布时间】:2011-04-27 17:22:53
【问题描述】:
我对@987654321@ 的用法有点困惑。目前,我正在使用这样的clock() 调用来查找内核调用的持续时间:
cudaThreadSynchronize();
clock_t begin = clock();
fooKernel<<< x, y >>>( z, w );
cudaThreadSynchronize();
clock_t end = clock();
// Print time difference: ( end - begin )
寻找更高分辨率的计时器我正在考虑使用cudaEvent_t。在我使用cudaEventRecord() 记下时间之前,我是否需要致电cudaThreadSynchronize(),或者是否多余?
我问的原因是因为还有另一个电话cudaEventSynchronize(),似乎要等到事件记录下来。如果录制延迟,计算出来的时间差是不是会在内核执行完毕后显示一些额外的时间?
【问题讨论】: