分配OpenCL缓冲区时内存地址错误

时间:2011-11-01 14:52:25

标签: c++ opencl

我有一个程序运行OpenCL的一些图像处理,我有时会崩溃,因为它试图将内容写入一个空的内存地址(使用clCreateBuffer)。

我可以使用任何OpenCL调用来延迟内存写入,还是可以通过C ++检查内存地址是否有效?

1 个答案:

答案 0 :(得分:0)

您可能可以使用OpenCL事件。

cl_int clWaitForEvents (cl_uint num_events,
    const cl_event *event_list)

您可以根据要等待的调用或操作创建事件,然后在创建缓冲区之前等待该事件完成。

但是,你能提供一些信息吗?例如,你想要做什么?也许还有另一种方式。如果你有一些显示你的操作的代码也会更好。