【发布时间】:2018-03-26 05:39:34
【问题描述】:
有没有办法从 CUDA 中的设备内核触发事件(用于基准测试,类似于 CPU 代码中的 cudaEvents)?
例如假设我想测量从内核启动到第一个启动计算的线程的时间,以及从最后一个离开计算的线程到 CPU 返回的时间。
我可以这样做吗?
【问题讨论】:
标签: cuda cuda-events
有没有办法从 CUDA 中的设备内核触发事件(用于基准测试,类似于 CPU 代码中的 cudaEvents)?
例如假设我想测量从内核启动到第一个启动计算的线程的时间,以及从最后一个离开计算的线程到 CPU 返回的时间。
我可以这样做吗?
【问题讨论】:
标签: cuda cuda-events
设备运行时 API(用于动态并行)确实有 limited stream and events support,但不支持事件计时。
所以,不,你不能那样做。
【讨论】:
一个丑陋的解决方法是写入某个managed-memory 位置,并让主机端线程轮询它并在值更改时触发事件。
【讨论】: