有誰知道如何聲明ArrayFire中的數據數組應該存儲在共享內存而不是全局內存中?這可能嗎?我有一小部分數據需要被所有線程隨機訪問。這是一個不斷查找的表格,應該可以在應用程序的整個生命週期中使用。也許我只是想念明顯的東西,但是閱讀ArrayFire文檔和谷歌搜索沒有提供任何有關我如何告訴ArrayFire我的數據需要進入共享內存的信息。在ArrayFire中使用共享內存
0
A
回答
1
在CUDA中共享內存(OpenCL中的本地內存)是位於GPU上的非常快速的內存類型。它具有與線程塊相同的生命週期,並且只能由同一個線程塊中的線程訪問。因此,它不能用於存儲即使在原始CUDA中也需要由多個內核使用的持久性數據。您可能想要查看常量或紋理內存來實現查找表(LUT)。這些內存類型通常更適合您通常遇到的LUT訪問類型。
ArrayFire具有高級API,可以通過許多常用函數的最快實現之一輕鬆實現GPU編程。使用ArrayFire,您將無法指定創建哪種類型的內存,但您可以自由使用您自己的內核中的數據。如果你正在使用我們的一個函數,那麼我們很可能會在它有意義的地方使用共享/紋理/常量內存。
歐麥爾
披露:我的ArrayFire的開發者之一
相關問題
- 1. 在矩陣中使用共享內存
- 2. 在線程中使用共享內存
- 3. 在PHP中使用共享內存
- 4. 在unix中使用共享內存時
- 5. 在共享內存
- 6. 在共享主機Linux帳戶上使用共享內存
- 7. 內存共享
- 8. 在內存中緩存數據共享
- 9. 檢查共享內存是否存在,以及是否存在共享內存
- 10. CUDA共享內存佔用
- 11. cuda中的共享內存
- 12. OpenCL中的共享內存
- 13. DLL中的共享內存
- 14. 共享內存在Unix的
- 15. CUDA共享內存
- 16. C共享內存
- 17. RDMA內存共享
- 18. 共享內存段
- 19. Linux共享內存
- 20. 使用Windows共享內存共享小數據
- 21. 通過共享內存共享指針
- 22. 使用boost庫釋放共享內存中的節點內存
- 23. 使用fork共享堆內存()
- 24. 使用boost的共享內存
- 25. OpenACC共享內存使用情況
- 26. 使用ipcrm刪除共享內存
- 27. 使用共享內存的IPC
- 28. ç共享內存使用fork()的
- 29. 如何使用共享內存
- 30. 與OpenACC共享內存的使用
共用存儲器具有內核的壽命,並且是本地的一個塊。你想用於像一個小的,不變的查找表是_constant_內存。但是,我不認爲ArrayFire允許你真正地指定數組應該駐留的內存。 – Oblomov 2015-04-08 18:59:20