是否有可能以某种方式从CUDA流中取消行动?

时间:2017-12-04 00:22:08

标签: cuda scheduling

在CUDA流上,我们可以入队:

  • 启动(内核,回调)
  • 事件操作(等待,触发)
  • 内存操作(复制,设置,附加)

但是没有API调用出列任何这些操作。对于某些或所有这些操作,有没有办法达到同样的效果?

注意:不排除涉及破坏流的建议。

1 个答案:

答案 0 :(得分:0)

对于发布,我们可以将内核和/或回调写入:

  • 将(主机或设备端)“aborted”标志的地址作为参数
  • 在执行任何其他操作之前查询该标志的值
  • 如果旗帜已经启动,请不要做任何事情,只需返回。

在这种情况下,可以通过设置其标志来中止它们。有点浪费,但不是很糟糕。

我不确定其他一切。