[英]mmap() device memory into user space
說如果我們執行mmap()系統調用並將某些PCIE設備內存(例如GPU)映射到用戶空間,則應用程序可以訪問設備中的那些內存區域,而不會產生任何OS開銷。 數據可以直接從文件系統緩沖區復制到設備內存,而無需任何其他復制。
以上聲明肯定是錯誤的...誰能告訴我缺陷在哪里? 謝謝!
對於普通設備,您所說的是正確的。 如果GPU內存在讀/寫行為上有所不同,則可能會這樣做。 我們應該看一下cudaMemcpy()
一些文檔。
根據Nvidia的CUDA基礎第22頁,
direction指定src和dst的位置(主機或設備)阻止CPU線程:復制完成后返回。 在先前的CUDA調用完成之前不會開始復制
很顯然, cudaMemcpy()
與先前的GPU寄存器寫入同步,這可能導致mmap()
內存被更新。 由於GPU管道是管道,因此從CPU發出cudaMemcpy()
時,先前的命令問題可能尚未完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.