OpenCL是否允许并发写入相同的内存地址?

时间:2010-05-18 21:50:59

标签: concurrency shared-memory opencl

是否允许两个(或更多)不同的线程写入OpenCL中全局空间中的相同内存位置?写入总是将uchar从0更改为1,因此结果应该是可预测的,但是我的程序中的结果不稳定,所以我想知道原因是否有些写入失败。

将缓冲区声明为只写并将其复制到只读缓冲区会有帮助吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用cl_khr_global_int32_base_atomics扩展名和atom_inc内在函数?我首先将数据存储在int32而不是uchar作为概念证明,然后优化数据结构的内存占用。