当我在OpenCL中有一个内存缓冲区时,我知道我需要将其中的数据对齐到一个16字节的边界。
但是,如果我的整个数据(不是数据结构,实际数据集合)例如只有15个字节大,我该怎么办?
我应该把它放入一个16字节的大缓冲区还是一个15字节的缓冲区?
是否有性能差异?
答案 0 :(得分:0)
如果您要使用许多15字节数据结构并计划使用本地内存,我建议保留15字节结构并一次加载其中16个的倍数。我认为'很多'在您的工作组中至少会有几kb的数据。这样做的原因是,当您每15次牺牲额外字节时,会增加6%的传输开销。将数据保留为15还可以帮助避免在将数据写回内存(本地和全局内存)时发生银行冲突。