在我的内核中,每个线程都写入本地内存中的某个区域,然后是它们 从本地内存复制到全局内存。永远不会在内核中读取全局内存,只写入。但是,本地内存缓冲区随后在全局复制完成后写入。
在复制代码之后是否需要全局内存屏障以及本地内存屏障,或者只是本地内存屏障:
答案 0 :(得分:4)
在复制代码之后,还是只需要本地内存屏障,是否需要全局内存屏障以及本地内存屏障?
这取决于。没有代码,很难回答你的问题。
在我的内核中,每个线程都写入本地内存中的一个区域,然后它们从本地内存复制到全局内存。
如果没有看到代码,我无法回答您的确切情况,但基本上只有两种情况:
永远不会在内核中读取全局内存,只写入。
然后您不需要全局内存屏障。当您需要在读者和作者之间订购操作时,需要障碍。如果没有读者(或没有作家),那么障碍就是多余的。