本地内存中的RGBA数据布局可减少银行冲突

时间:2014-08-05 17:21:50

标签: opencl

在本地内存中布局这个以减少银行冲突的最佳方法是什么?

我在想:

RRRRRRRRRRRR...
GGGGGGGGGGGG...
BBBBBBBBBBBB...
AAAAAAAAAAAA...

我想一次抓住所有四个通道用于向量操作。

谢谢!

2 个答案:

答案 0 :(得分:1)

然后使用“RGBARGBARGBARGBA ...”,您可以一次抓取所有四个通道以在向量中使用。另外,它是一个读取而不是4个。

当多个工作项访问彼此偏移的不同区域时,会导致银行冲突。因此,在导致银行冲突时,您的图像布局与行间距无关。

答案 1 :(得分:0)

在我的目标架构HD7700上,平面配置提供了最佳性能:vload4速度要慢得多。我认为这必定是由于银行冲突,但我不确定。