0
A
回答
1
一般和通常在運行時處理clEnqueueWriteBuffer/clEnqueueReadBuffer命令副本發生。然而,如果你使用特定的標誌組合來創建內存對象,那麼運行時可以選擇更快地複製內存(比如在創建之後)或更高版本(比如在運行內核之前按需複製內存,需求,因爲它需要它)。供應商文檔通常表明他們是否對這些標誌有特殊的優勢。
一對夫婦的「有趣」的變化:
- 共享內存(英特爾Ingrated顯卡的GPU,AMD的APU和CPU驅動程序):您可以分配一個緩衝區和從未將其複製到設備,因爲該設備可以訪問主機內存。
- 按需分頁:某些獨立GPU可以在內核讀取或寫入內容時通過PCIe複製緩衝區內存。
這些都是OpenCL緩衝區的「高級」使用。你應該從「常規」緩衝區開始,如果他們不做你所需要的,你就可以開始工作。
This post很好地描述了額外的標誌。
相關問題
- 1. 在不同的上下文之間共享OpenCL內存對象
- 2. openCL CPU上的最大內存分配
- 3. 使用c#和opencl的內存對象分配失敗
- 4. 如何在主機內存中分配一半OpenCL緩衝區,另一半分配給設備內存?
- 5. 對象的內存分配
- 6. 對象內存分配
- 7. java中對象的內存分配
- 8. 如何將內存分配給java中的對象
- 9. 內存對象的基地址OpenCL
- 10. 將分配的對象分配給某些未分配的對象會導致內存泄漏?
- 11. 在共享內存中分配對象
- 12. 減少到主內存調用,給堆分配的對象
- 13. 何時將內存分配給預定義的流對象?
- 14. 刪除分配給對象的所有內存
- 15. 你能找到分配給對象(node.js)的內存嗎?
- 16. 有多少內存分配給這個類的對象?
- 17. 類對象的內存分配
- 18. 對象的動態內存分配
- 19. 檢查對象的內存分配
- 20. C++ STL對象的內存分配
- 21. 創建對象時的內存分配
- 22. 對象數組的內存分配
- 23. 對象指針的C++內存分配
- 24. 在Nvidia的opencl中的共享內存中的動態分配
- 25. 努力改變循環中的上下文並將值分配給對象
- 26. 如何在不分配內存的情況下構造對象?
- 27. 隨機類 - 將對象分配給另一個對象
- 28. C++上的內存分配限制
- 29. 在大對象堆內存中預分配一些內存
- 30. 分配給閉包的內存以及它的存儲機制是什麼?