在第一阶段的项目中,我生成一些顶点然后在第二阶段我读取这些顶点然后创建连接数组。对于我的顶点,我使用了CL_MEM_READ_WRITE。我想知道如果我在第一阶段使用CL_WRITE内存然后将其复制到第二阶段的另一个CL_READ内存中,我会有性能提升吗?因为可能每个人都有自己的优化来获得最大的性能。
答案 0 :(得分:3)
CL_CREATEBUFER的第二个参数中传递的标志仅指定内核端如何访问内存空间。
答案 1 :(得分:1)
可能不是。我希望缓冲区副本比任何优化都要昂贵得多。
另外,我查看了AMD APP OpenCL编程指南,在使用READ_ONLY
或WRITE_ONLY
缓冲区时,我没有找到任何关于优化的指示。
我的理解是访问标志仅供OpenCL运行时使用,以决定何时需要在不同的内存空间/区域之间复制缓冲区数据。