我有一个程序运行OpenCL的一些图像处理,我有时会崩溃,因为它试图将内容写入一个空的内存地址(使用clCreateBuffer)。
我可以使用任何OpenCL调用来延迟内存写入,还是可以通过C ++检查内存地址是否有效?
答案 0 :(得分:0)
您可能可以使用OpenCL事件。
cl_int clWaitForEvents (cl_uint num_events,
const cl_event *event_list)
您可以根据要等待的调用或操作创建事件,然后在创建缓冲区之前等待该事件完成。
但是,你能提供一些信息吗?例如,你想要做什么?也许还有另一种方式。如果你有一些显示你的操作的代码也会更好。