有没有办法从CUDA中的设备内核触发事件(用于基准测试,类似于CPU代码中的cudaEvents)?
E.g。假设我想测量从内核启动到开始计算的第一个线程的时间,以及从离开计算的最后一个线程返回到CPU返回的时间。
我能这样做吗?
答案 0 :(得分:2)
设备运行时API(与动态并行性一起使用)确实有limited stream and events support,但不支持事件计时。
所以,不,你不能这样做。
答案 1 :(得分:0)
一个丑陋的解决方法是写入某个managed-memory位置,并让主机端线程轮询它并在值更改时触发事件。