CUDA設備存儲器可使用cudaMalloc
/cudaFree
,確定被分配。這很好,但很原始。CUDA的malloc,MMAP/mremap
我很想知道,是以某種方式虛擬化的設備內存?是否有與mmap
等效的操作,更重要的是,對於設備存儲器有mremap
? 如果設備內存是虛擬化的,我希望這些功能應該存在。看來現代GPU驅動程序實現分頁時出現爭用多個進程有限的視頻資源,這表明它的虛擬化在一些這樣或那樣...
有誰知道在哪裏可以閱讀更多關於這個?
編輯:
好的,我的問題有點泛泛。我已閱讀手冊中討論爲設備訪問映射系統內存的部分內容。然而,我對設備分配內存更感興趣。
具體問題:
- 有沒有任何可能的方式來重新映射設備內存? (即增加設備分配)
- 是否可以將設備分配的內存映射到系統內存?
- 使用映射固定內存是否存在一些性能危險?內存是否根據需要在設備上覆制,或者是否總是通過012-通過pci-e總線獲取內存?
我有其中存儲器使用由GPU的99%的時間的情況下;因此它應該是設備本地的,但將設備內存映射到系統內存以便偶爾進行結構化回讀可能很方便,而無需執行難以處理的深層副本。
是的,統一的內存中存在,但我很高興與明確的分配,保存爲奇那一刻,我想偷偷摸摸回讀。
我發現手冊在一般的細節上相當輕。
中獲取。如果我們離開UM出來的它對新發布的問題的答案是否定的,第三:不,內存不重複,除了L2緩存之外,GPU所需的映射數據將始終通過PCI-E總線獲取。 –
謝謝,你應該把它變成一個答案。 –