0
点赞
收藏
分享

微信扫一扫

OpenCL事件对象的理解

程序猿不脱发2 2022-04-21 阅读 80
人工智能

事件对象可以用来标记命令的执行状态,状态有以下几种:

 CL QUEUED -﹣表示任务已经进入命令队列。除 user event 外,其它所有事件的初始状态都为 CL QUEUED 。

 CL SUBMITTED -- user event 的初始状态。对于其他类型的 event ,该状态表示任务命令已经由主机提交给设备。 

 CL RUNNING -﹣表示设备已经开始执行命令。

 CL COMPLETE -﹣表示命令执行完成。

 Eror code -﹣错误代码为负整数值,表示命令执行终止。非正常的命令终止,可能会引起内存方面的错误。需要注意的是:如果命令被终止,那么跟这个被终止的命令相关的任务队列也会终止, context 不可用

包括该 context 内所有其它的命令队列:使用该 context 的 APIs 会出现未定义的行为。

,另外,跟该 context 相关的回调函数也会发生错误。

那么, user event 状态在设置为 CL COMPLETE 之前,任务命令的状态可以为 CL sUBMIT ,因为这是 user event 的初始状态。

 

用来设置user event 的我行状态。

 event -﹣必须是c1CreateUserEvent创建的.

 excution status -﹣所要设置的执行状态,可以为 Ct _ COMPLETE ,或者用一个负整数来表示错误,设置为负数会引起依赖user event的所有enqueue command终止。

需要注意的是:user event状态只能设置一次。

 

举报

相关推荐

0 条评论