當我在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