微软服务器dda,Hyper-V虚拟机的物理设备直通(Discrete Device Assignment, DDA)与显卡直通实践...

本文介绍了如何使用微软服务器的Discrete Device Assignment (DDA)功能,实现在Hyper-V虚拟机中直通物理GPU,特别是NVIDIA GPU。文章详细阐述了直通显卡的步骤,包括设备要求、主板固件支持、设备选择、禁用和分配设备等,并特别提到了针对GPU的额外设置,如合并缓存写入和扩大内存映射IO空间。适合对DDA技术感兴趣且希望在虚拟机中充分利用GPU资源的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

年初的时候老板火急火燎撒钱买了一台四路1080Ti服务器给实验室用作深度学习使用,结果火急火燎地买回来才发现很多深度学习框架对多GPU支持并不好,于是只能分开使用。想我也是经历过共用服务器的混乱,于是提议建立四个虚拟机,然后把整块物理GPU直接分配给各自虚拟机互不干扰,因为之前偶然看到过从Windows Server 2016开始,微软为Hyper-V虚拟机加入了物理设备直通(Discrete Device Assignment, DDA)的功能,允许虚拟机完全控制宿主机上的某些硬件(包括但不限于GPU,网络适配器等)。一开始以为应该也挺简单的,但实际上还是踩了很多坑才最终弄好。

关于Discrete Device Assignment的详细信息,可以查看微软虚拟化博客四连:

本文以这些相关官方博文为基础记录了直通显卡的一般流程,适合对DDA技术感兴趣的朋友入门尝鲜。此外,我封装了一个简单的带GUI的工具:

GUI工具测试系统为Windows Server 2016,据评论区反馈,最新的Windows Server 2019不能使用该工具。

显卡直通与RemoteFX的区别

DDA直通显卡是将整张显卡的控制权限移交给虚拟机,而类似RemoteFX技术则是将宿主机上的显卡虚拟化后为虚拟机提供一定的3D加速支持。简单来说:

DDA虚拟机中看到的是一张物理显卡,RemoteFX虚拟机中看到的是一张虚拟化后的显卡;

DDA虚拟机(理论上)可以使用物理显卡的任何特性,包括OpenCL、CUDA等等,而RemoteFX则不支持;

RemoteFX可以为虚拟机提供比较完备的3D加速功能,而DDA即便直通了显卡也不一定有完整的3D加速;

等等。

要求

物理设备直通对系统的硬件和软件都有一定的要求,除了需要宿主机的操作系统为Windows Server 2016 TP4以上版本外,还需要以下要求:

主板固件支持。你的BIOS(或UEFI)必须支持:SR-IOV、Access Control Service(ACS)等功能。根据主板型号的不同,有的可能需要你在在BIOS中手动开启,有的可能默认就已经支持,有的则可能需要更新BIOS版本。例如,在超微X10DRG-Q主

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值