https://news.developer.nvidia.com/microsoft-and-nvidia-announce-june-preview-for-gpu-acceleration-support-for-wsl/?
無法啟動虛擬機 3. 但是reddit上好像有人直接問了hyper-v的開發人員,得到的答覆是如果是amd的卡如果在windows server能直通的話,在win10也能直通(沒A卡沒試過),目前答主也沒搜到有人在windows 10上直通成功的案例....
4. windows server上好像是可以直通gtx 1070這種顯卡的,不一定需要企業版gpu,有人直通成功了...,不過nvidia會檢測當前顯卡是否工作在vm環境,如果在則會拒絕載入驅動。解決方案也有:https://forums.unraid.net/topic/69670-guide-fix-nvidia-code-43-issue-on-nvidia-gpu/
5. 同時有人做了對比,在同一台機器上同時安裝windows server 2016和windows 10,windows server 能通進去的顯卡,在win10下就是不行,估計是ms在代碼上做了屏蔽....
說不定哪天ms良心發現win10就可以用DDA了(x
或者wsl突然支持gpu?
由於答主本身電腦是win10,並沒有安裝windows server,所以沒法測試上面搜集到的資料的真實性....
參考資料:
https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda
2. https://www.videogames.ai/2019/02/07/Ubuntu-Hyper-V-GPU.html
Windows 10上的虛擬機都跑不了GPU版本的TensorFlow和pyTouch...建議直接使用Windows的版本。
Windows上支持虛擬機里使用Cuda的應該只有Hyper-V,但是條件苛刻:
1- 需要使用Windows Server 2016;
2- CPU需要支持SLAT,還有VT-D或者I/OMMU;
3- 企業版GPU,GeForce不行。
這明顯不是提供給個人的方案了...
消費卡的話,需要做一點 hack。
比如把 RTX 2070 Super 虛擬成 T4:
如果要在win10上用gpu版本的tensorflow,和pytorch,只能用windows版本的。虛擬機要虛擬化gpu支持cuda也不是不行,但是要求很苛刻,
1.cpu和主板支持vt-d
2.VMware ESXi這個就悲劇了,這個是裝在裸機上的,所以就是沒法在win10上裝
3.Quadro系列專業卡,gtx系列的遊戲卡是肯定不行的。
win10的linux子系統是肯定不行的,沒有驅動。
所以還是要不老實用windows版本的tf和pytorch要不就裝linux。虛擬機是不可能的
linux好一些
正常人會安裝vSphere,在裡面跑Windows。而不是反過來。
https://docs.nvidia.com/grid/5.0/grid-vgpu-release-notes-vmware-vsphere/index.html
建議直接放棄, Windows 上 99% 的虛擬機 GPU 都是 API 虛擬化.
直接windows版拉倒吧,最簡單了。而且只有hyperv可以用物理gpu,
虛擬機GPU性能較好的就vmware或hyper-v
docker是Linux專用
GPU版本需要用到CUDA加速,虛擬機環境不支持CUDA,慎用
推薦閱讀: