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,慎用
推荐阅读: