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

Bad memory address when allocating OpenCL buffer

本文关键字:地址 错误 内存 OpenCL 缓冲区 分配      更新时间:2023-10-16

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

他们的任何OpenCL调用我可以用来延迟内存写入,或者有可能通过c++检查内存地址是否有效?

您可能可以使用OpenCL事件。

cl_int clWaitForEvents (cl_uint num_events,
    const cl_event *event_list)

你可以从你想等待的调用或操作中创建一个事件,然后在创建缓冲区之前等待该事件完成。

但是,你能提供一点信息吗?比如说,你到底想做什么?也许还有别的办法。如果您有一些代码来显示您的操作,那就更好了。