我正在用CPU和GPU (实际上是APU )和OpenCL在异构系统中开发一些东西。因为我将使用原子操作来保证数据的完整性,并且数据在CPU设备和GPU设备之间共享,在每个设备上都有一个运行在共享数据上的内核。我的问题是:原子操作在这两个设备之间仍然有效吗?希望有谁能帮我。非常感谢。
发布于 2012-09-26 00:15:52
OpenCL Specification的附录A介绍了不同设备之间内存对象的同步。不能保证两个设备将访问同一物理位置的内存对象:其中一个设备可能会在缓冲区的副本上工作,只有附录A中描述的同步才能确保其他设备获得它的副本。
您在AMD APU上的实现可能允许CPU和GPU共享相同的地址空间,并且可能不需要设备间同步。我建议查看AMD文档和实验。
https://stackoverflow.com/questions/12583320
复制相似问题