如何解决PyOpenCL程序“ __ kernel”和事件系统
如果我正确理解情况,PyOpenCL有两种启动内核的方法。 cl.enqueue_nd_range_kernel
方法和简化的cl.program."__kernel"
方法使您可以在初始化期间立即指定参数。但是,如果cl.enqueue_nd_range_kernel
可以等待并初始化事件,那么我还没有找到cl.program."__kernel"
的这种方式?是否可以通过cl.program."__kernel"
使用事件,或者cl.enqueue_nd_range_kernel
是唯一的选择?
------------- UPDATE ------------
好,知道了!它的工作方式类似于event=cl.program."__kernel"
但是有没有办法将内核执行与另一个事件的结束联系起来?
------------ UPDATE2 ------------
我是否正确理解可以通过cl.wait_for_events(events)
并在cl.program
循环中调用async/await
来做到这一点?这是正确的方法,还是仅使用PyOpenCL来实现异步的更多正确方法?谢谢!
好吧,我得出的结论是,仅使用pyopencl.enqueue_nd_range_kernel
似乎更容易:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。