当我在OpenCL中有一个内存缓冲区时,我知道我需要将其中的数据与16字节的边界对齐。
但是,如果我的整个数据(不是数据结构,实际的数据收集)例如只有15个字节大,我该怎么办?
我应该把它放进一个16字节的大缓冲区或15字节的吗?
是否有性能差异?OpenCL缓冲区大小填充
0
A
回答
0
如果您打算使用许多15字节的数据结构并且您打算使用本地内存,我建议保留15字节的结构并一次加载其中的16个倍数。我认为“很多”在你的工作组中至少会有几kb的数据。原因是因为当你牺牲每15个额外的字节时,你增加了6%的传输开销。将数据写回内存(本地和全局内存)时,将大小保持为15还可以帮助避免银行冲突。
相关问题
- 1. C填充缓冲区
- 2. 连续填充缓冲区
- 3. 如何从缓冲区及其大小填充std :: vector?
- 4. 需要CFReadStream块直到没有填充缓冲区大小
- 5. 没有填充接收缓冲区的UDP缓冲区溢出?
- 6. 试图填充缓冲区,同时缓冲区写入通道
- 7. 缓冲区大小为GetAdaptersInfo
- 8. 增加缓冲区大小
- 9. 缓冲区大小改变
- 10. execv的缓冲区大小
- 11. 帧缓冲区大小
- 12. Cloudconnect CSV缓冲区大小
- 13. C Windows缓冲区大小
- 14. 获取缓冲区大小
- 15. QSqlQuery缓冲区大小
- 16. AES缓冲区大小
- 17. FUSE缓冲区大小?
- 18. sprintf缓冲区大小
- 19. zlib和缓冲区大小
- 20. BufferedInputStream的缓冲区大小
- 21. 超过缓冲区大小?
- 22. telnetlib read_until缓冲区大小
- 23. 用空虚填充缓冲区
- 24. BeginRead的缓冲区何时填充?
- 25. Java:I/O,read()不会填充缓冲区?
- 26. 如何用fread填充malloc'd缓冲区?
- 27. glBufferSubData导致缓冲区填充零
- 28. recvfrom用零填充缓冲区
- 29. OpenCL中的缓冲区对象和图像缓冲区对象
- 30. OpenCL - 主内核填充缓冲区并在子内核上运行
那么,你正在运行一个只有15字节输入的内核?这是一个坏榜样。如果您运行的X * 16 + Y字节不是16的倍数,那么更合理。 – DarkZeros 2013-12-18 10:13:11
是的,数据大于15个字节。但不是16的倍数。 – Tara 2013-12-18 12:15:44