簡體   English   中英

mmap()設備內存進入用戶空間

[英]mmap() device memory into user space

說如果我們執行mmap()系統調用並將某些PCIE設備內存(例如GPU)映射到用戶空間,則應用程序可以訪問設備中的那些內存區域,而不會產生任何OS開銷。 數據可以直接從文件系統緩沖區復制到設備內存,而無需任何其他復制。

以上聲明肯定是錯誤的...誰能告訴我缺陷在哪里? 謝謝!

對於普通設備,您所說的是正確的。 如果GPU內存在讀/寫行為上有所不同,則可能會這樣做。 我們應該看一下cudaMemcpy()一些文檔。

根據Nvidia的CUDA基礎第22頁,

direction指定srcdst的位置(主機或設備)阻止CPU線程:復制完成后返回。 在先前的CUDA調用完成之前不會開始復制

很顯然, cudaMemcpy()與先前的GPU寄存器寫入同步,這可能導致mmap()內存被更新。 由於GPU管道是管道,因此從CPU發出cudaMemcpy()時,先前的命令問題可能尚未完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM