鉴于OpenCL是一种用于异构编程的应用程序接口,几乎可以定义它具有与之相关的巨大延迟损失。因此,它必须有一个异步API。
然而,我发现很难在OpenCL.net中找到异步应用程序接口。我发现了OpenCl.Net.Event结构,它似乎是大多数API调用中的out参数。然而,我找不到任何方式来关联事件的回调,因为它似乎在opencl.net中缺少clSetEventCallback。
有人知道如何在opencl.net中await异步操作吗?
发布于 2014-11-06 23:39:30
我对OpenCL.net了解不多,但是CommandQueue不就是你要找的吗?你可以用Finish命令把你所有的任务一次排入队列,直到所有任务都完成?
例如:下的GPGPU image processing basics using OpenCL.NET图像处理部分
对于clSetEventCallback,我只找到了clFinish或clWaitForEvents。
参考你的声明:
在opencl.net中似乎缺少clSetEventCallback
我找不到任何方法来做你想要的,对不起。
:这似乎是非常完整的字符串:Google-Code / GPUTracer。你应该看看OpenCL.cs和Event.cs。我想他们解决了你的问题。
https://stackoverflow.com/questions/26690289
复制相似问题