使用OpenCL C++ bindings(documentation),是否可以让排队的命令只等待一个 cl::Event
?
让我们以enqueueReadBuffer()
的签名为例:
cl_int cl::CommandQueue::enqueueReadBuffer(
...
const VECTOR_CLASS<Event>* events = NULL,
... )
它指向VECTOR_CLASS
的{{1}}指针(例如std::vector
),并且单个cl::Event
的情况不会超载。当然,可以将单个cl::Event
包装成大小为1的cl::Event
,但这似乎不是一个非常好的解决方案。我想知道是否有更好的解决方案,因为等待一个VECTOR_CLASS
似乎是一件很常见的事情......
请注意OpenCL C API(documentation)中不存在此问题,您可以在其中传递指向cl::Event
的指针以及读取的cl_event
个数
cl_event