【发布时间】:2015-04-01 21:21:28
【问题描述】:
在我的内核中,每个线程写入本地内存中的一个区域,然后它们 从本地内存复制到全局内存。全局内存永远不会在内核中读取,只会写入。但是,本地内存缓冲区随后会在全局复制完成后写入。
在我的复制代码之后是否需要全局内存屏障和本地内存屏障,或者只是一个本地内存屏障:
【问题讨论】:
标签: opencl
在我的内核中,每个线程写入本地内存中的一个区域,然后它们 从本地内存复制到全局内存。全局内存永远不会在内核中读取,只会写入。但是,本地内存缓冲区随后会在全局复制完成后写入。
在我的复制代码之后是否需要全局内存屏障和本地内存屏障,或者只是一个本地内存屏障:
【问题讨论】:
标签: opencl
在我的复制代码之后我需要一个全局内存屏障和一个本地内存屏障,还是只需要一个本地内存屏障?
这取决于。没有代码,很难回答你的问题。
在我的内核中,每个线程写入本地内存中的一个区域,然后从本地内存复制到全局内存。
没有看到代码我无法回答你的具体情况,但基本上只有两种情况:
内核中永远不会读取全局内存,只会写入。
那么你就不需要全局内存屏障了。当您需要对读取器和写入器之间的操作进行排序时,需要使用屏障。如果没有读者(或没有作者),那么障碍就是多余的。
【讨论】: