【发布时间】:2013-12-21 22:58:04
【问题描述】:
我试图了解使用 CUDA 计时器(事件)和常规 CPU 计时方法(Linux 上的gettimeofday 等)计时内核执行之间的区别。
通过阅读http://docs.nvidia.com/cuda/cuda-c-best-practices-guide/ 8.1 节,在我看来,唯一真正的区别是,在使用 CPU 计时器时,需要记住同步 GPU,因为调用是异步的。大概 CUDA 事件 API 会为您执行此操作。
所以这真的是一个问题:
- 对于 GPU 事件,您无需显式调用
cudaDeviceSynchronize - 借助 GPU 事件,您可以获得与平台无关的固有计时 API,而对于 CPU,您需要为每个操作系统使用单独的 API
?
提前致谢
【问题讨论】:
标签: cuda