多个设备之间的原子操作

时间:2012-09-25 12:50:12

标签: opencl atomic integrity

我正在使用OpenCL在具有CPU和GPU(实际上是AMD APU)的异构系统中开发一些东西。由于我将使用原子操作来保证数据的完整性,并且数据在CPU设备和GPU设备之间共享,每个都在共享数据上运行内核。我的问题是:原子操作在这两个设备之间是否仍然有效?希望有人能帮助我。非常感谢。

1 个答案:

答案 0 :(得分:2)

OpenCL Specification的附录A涵盖了不同设备之间的内存对象同步。无法保证两个设备都可以访问同一物理位置的内存对象:其中一个设备可以在缓冲区的副本上工作,只有附录A中描述的同步才能确保其他设备获得它的副本。 / p>

您在AMD APU上的实施可能允许CPU和GPU共享相同的地址空间,并且可能不需要设备间同步。我建议检查AMD文件和实验。