1
Nvidia CUDA驅動程序是做什麼的?從使用CUDA的角度來看。 驅動程序傳遞內核代碼,執行配置(#threads,#blocks)... 還有什麼?nVIDIA CUDA驅動程序究竟做了什麼?
我看到一些帖子,司機應該知道可用SM的數量。 但是這不是沒有必要嗎?一旦內核傳遞給GPU,GPU調度器只需將工作分散到可用的SM中即可...
Nvidia CUDA驅動程序是做什麼的?從使用CUDA的角度來看。 驅動程序傳遞內核代碼,執行配置(#threads,#blocks)... 還有什麼?nVIDIA CUDA驅動程序究竟做了什麼?
我看到一些帖子,司機應該知道可用SM的數量。 但是這不是沒有必要嗎?一旦內核傳遞給GPU,GPU調度器只需將工作分散到可用的SM中即可...
GPU不是一個完全自主的設備,它需要一個批次幫助從主機驅動程序最簡單的事情就是做 。據我所知的驅動程序包含至少:
這可能代表了裸將某些用戶級設備代碼放到GPU上並通過主機端API運行所需的最低限度。
謝謝,很好的回答! – 2012-03-20 20:27:50
如果你不介意,還有一個問題。 「統一尋址模型」有點像虛擬內存,對嗎? CUDA內核中使用的虛擬內存地址將被轉換爲實際的物理GPU內存地址(全局,本地,共享...)。這完全是在駕駛員級別完成的嗎?我認爲驅動程序只需要將統一的地址轉換爲實際的物理地址(全局,本地,...),而GPU HW不需要知道有關此虛擬內容的任何信息。我的理解是否正確?謝謝 ! – 2012-03-20 20:30:33
統一尋址的含義是CUDA 4.0及更高版本中的方案,它允許多個GPU和某些其他設備(如網絡接口)將自己映射到主機的公共地址空間。這全部由司機完成。費米卡似乎具有用於虛擬地址到硬件特徵的內部映射的TLB。這需要進行編程,這是驅動程序進入的地方,但地址轉換應由設備完成。 – talonmies 2012-03-20 21:19:30