Server2025 和 GPU-P(GPU Partitioning,GPU 分区技术)的正式支持, GPU-P 是一种将物理 GPU 划分为多个虚拟 GPU(vGPU)并分配给不同虚拟机或容器的技术。对 GPU 的基本支持,主要包括 GPU passthrough(GPU 直通)和部分 vGPU 支持( NVIDIA GRID 等硬件支持)
GPU‑P(GPU Partitioning,GPU 分区)完整解构
全称:GPU Partitioning,GPU 硬件分区,也叫 GPU 物理切片;对标技术:SR‑IOV (GPU 虚拟化)、MIG (NVIDIA Multi‑Instance GPU)、vGPU、GPU‑v; GPU‑P:将一块物理 GPU 硬件,通过硬件固件 / 驱动,切分成多个独立、隔离的物理 GPU 分区实例,每个分区拥有独立的 CU 核心、显存、L2 缓存、编解码单元,对外呈现为多块独立 GPU 设备。 区分概念:
- GPU‑P:硬件物理分区(硬件级隔离)
- GPU‑v:时间切片虚拟化(软件分时复用,无硬件资源隔离)
- NVIDIA MIG 就是 GPU‑P 的一种工业实现;AMD GPU‑P、Intel GPGPU Partition 属于同类技术。
一、底层原理
架构定位
物理 GPU 内部硬件被划分为多个硬件岛(Slice/Partition instance):独立计算阵列、独立显存分区、独立 L2、独立媒体编解码引擎、独立寄存器组;GPU 固件 (GPU FW) 完成硬件资源切分;GPU 驱动对操作系统暴露多套 GPU 设备实例。
物理GPU硬件(完整GPU die)
↓
GPU固件(Firmware):硬件资源切分,划分N个硬件Partition实例
↓
GPU内核驱动:枚举多个GPU分区实例,向OS PCIe子系统上报多个逻辑GPU设备
↓
操作系统内核(PCIe子系统)识别多块独立GPU设备
↓
用户态驱动库(CUDA/ROCm/OneAPI);可直接分配给裸金属、虚拟机、容器使用
核心:每个 GPU‑P 分区拥有独立硬件资源,不是时间片轮转;分区之间硬件隔离,一个分区崩溃不会直接带垮其他分区(取决于固件实现)。
GPU‑P 内部关键模块
- GPU 固件分区管理器(Firmware Partition Manager) GPU 片上固件,真正执行硬件切分;配置计算 Slice 数量、显存分片、L2 划分、媒体引擎分配;设置硬件隔离屏障,防止分区之间越权访问显存。
MIG 的 gpu‑manager 固件就属于该模块;分区配置可以静态固化,也可以运行时动态重构。
- GPU 内核驱动 Partition 抽象层 接收固件上报的分区拓扑;向操作系统 PCIe 层虚拟出多个 GPU 设备实例;管理每个分区的资源配额、中断隔离、错误隔离;处理分区创建 / 销毁 / 重配置。
- PCIe 虚拟设备枚举层 GPU‑P 生成的每个分区,在 OS 看来是独立 PCIe 设备;拥有独立 BDF 号;虚拟机可以直接透传单个 GPU‑P 分区(类似 SR‑IOV PF/VF)。
- 用户态 SDK / 运行时库 CUDA / ROCm / OneAPI:识别本机多个 GPU‑P 分区实例;应用无感知,像使用多块物理 GPU 一样调用每个分区。
- 资源管理控制平面(管理工具) 命令行工具,用于设置分区 Profile:选择切分模式,例如 1 块 A100 切分为 1/2/4/7 个 MIG 实例;设置每个分区显存、计算核心配比。
完整业务链路(以 NVIDIA MIG (GPU‑P) 为例)
管理员执行命令创建GPU分区Profile
↓
用户态管理工具 → GPU内核驱动 → GPU片上固件
↓
固件对GPU硬件做物理资源切分,配置硬件隔离,生成多个MIG实例
↓
驱动向OS枚举多个独立GPU设备(独立BDF)
↓
裸金属:应用CUDA直接选择使用某一个GPU‑P分区;
虚拟机:将单个GPU‑P分区VF透传给VM,VM内部识别为独立GPU;
↓
业务负载运行在分区硬件资源上;硬件隔离访问显存、计算单元;
↓
销毁分区:固件回收硬件资源,合并回完整GPU资源池
启动生命周期
主机上电 → GPU ROM/Firmware初始化
↓
BIOS/UEFI开启GPU‑P(MIG)功能;设置默认分区模式(或者关闭Partition)
↓
OS加载GPU内核驱动;驱动与GPU固件交互
↓
固件上报支持的Partition能力;可静态加载分区配置,或者等待管理员动态配置
↓
完成分区后,OS识别多块独立GPU设备;可供裸金属/VM使用
注意:部分 GPU‑P 模式,一旦开启硬件分区,GPU 不能直接作为完整单块 GPU 使用,必须先销毁所有分区。
二、依赖文件、依赖关系
以 NVIDIA MIG(工业 GPU‑P 实现)举例:
| 组件 | 说明 |
|---|---|
| GPU On‑chip Firmware (ROM/FW 镜像) | GPU 片上固件,真正完成硬件切分,GPU‑P 最核心依赖;没有支持 Partition 的固件,硬件无法开启 GPU‑P |
NVIDIA 内核驱动 nvidia.ko(Linux) / nvlddmkm.sys(Windows) |
GPU 内核驱动,Partition 抽象层;与固件交互,枚举分区实例,上报 OS PCIe 子系统 |
| nvidia‑mig‑manager(用户态管理守护进程 Linux) | MIG 管理控制平面,下发分区配置、查询分区状态 |
| nvidia‑smi | 用户态命令行工具,配置、查看 GPU‑P 分区拓扑 |
| CUDA Toolkit / libcuda.so | 用户态 SDK,识别 GPU‑P 分区实例,应用调用 GPU 分区 |
| PCIe 内核子系统(Linux pci.ko/ Windows pci.sys) | 操作系统 PCIe 层,接收驱动上报的多个逻辑 GPU 设备 BDF |
Windows 平台限制:NVIDIA MIG (GPU‑P) Windows 操作系统不支持 MIG 硬件分区,MIG/GPU‑P 主要运行在 Linux 裸金属平台。
AMD GPU‑P:
- GPU 固件;amdgpu.ko 内核驱动;rocm‑smi;ROCm 运行时库。
Intel GPU‑P:
- GPGPU 固件;i915 内核驱动;oneAPI 运行时。
BIOS/UEFI 依赖
- BIOS 中必须开启 GPU 硬件分区功能;部分卡支持静态 Profile 预设;关闭则 GPU‑P 不可用。
注册表 /sysfs 依赖
- Linux:
/sys/bus/pci/devices/每个 GPU‑P 分区拥有独立 PCI 设备节点;/sys/class/mig/暴露 MIG 分区拓扑。 - NVIDIA 驱动参数:模块参数控制 MIG 开启 / 关闭。
GPU‑P不依赖 Hypervisor(虚拟机监控器):裸金属环境就可以直接切分 GPU;这是和 SR‑IOV 的重要区别。
三、配套链、工具与交互入口
- 硬件管理工具
nvidia‑smi:查看、查询 MIG (GPU‑P) 分区;设置 partition profile;nvidia‑mig‑manager:守护进程,持久化 MIG 配置;- rocm‑smi(AMD);intel_gpu_top(Intel)。
- 虚拟化配套
- KVM:将单个 GPU‑P 分区(逻辑 PCI 设备)直接 VF 透传给虚拟机;VM 内部感知为独立物理 GPU;
- 容器:Kubernetes GPU 调度 (nvidia‑container‑toolkit),调度 GPU‑P 分区给容器;不需要透传,裸金属直接分配。
- 监控
- nvidia‑smi / DCGM (Data Center GPU Manager):监控每个 GPU‑P 分区算力、显存利用率、错误隔离状态;
- prometheus DCGM exporter,采集分区指标。
- 操作系统约束
- Linux:主流完整支持 GPU‑P (MIG);
- Windows:NVIDIA MIG (GPU‑P) 无支持;只能用 vGPU(时间切片 GPU‑v);
- 虚拟机内部:透传得到 GPU‑P 分区后,VM 内部驱动只识别分配给自己的分区,看不到其他分区。
四、边界、限制、坑点
✅能力边界
- 硬件级资源隔离:每个 GPU‑P 分区拥有独立计算核心、显存、L2、媒体编解码;不是软件时间切片;
- 裸金属即可使用,不一定需要 Hypervisor;
- 分区可透传给虚拟机,VM 内视为独立 GPU;
- 支持多种 Profile,可选择不同算力 / 显存配比;
- 错误隔离:大部分硬件错误局限在单个分区,不影响其他分区(取决于固件能力)。
❌边界与高频误区
- GPU‑P (MIG) 是硬件固件能力,普通消费级显卡不支持;只有数据中心 GPU (A100/H100 等) 支持;消费卡没有对应的硬件 Slice 与固件支持。
- GPU‑P 开启后,GPU 不能直接完整使用;必须销毁全部分区,才能恢复完整 GPU 模式。
- 分区粒度受硬件约束:不能任意切分;只能使用硬件固件提供的固定 Profile,不能随意自定义显存大小。
- Windows 下 NVIDIA 不支持 MIG (GPU‑P 硬件分区),Windows 只能使用 vGPU (GPU‑v 时间切片虚拟化),二者隔离能力完全不同。
- 虽然硬件隔离,但 GPU 全局资源(如部分电源管理、硬件报错)仍然属于整个物理 GPU;极端硬件故障(如 GPU die 硬件损坏)会影响全部分区。
- 不是 SR‑IOV:GPU‑P 生成的逻辑设备,逻辑上类似 VF,但实现路径是 GPU 内部硬件 Partition,不是 PCIe SR‑IOV;部分 GPU‑P 可以配合 SR‑IOV,二者是两套技术。
- 应用无需修改:CUDA 应用不需要改造;程序看到多个 GPU 设备,直接选择对应分区设备 ID 即可。
典型故障现象
- nvidia‑smi 看不到 MIG 配置选项:BIOS 未开启 GPU‑P/MIG,或者 GPU 固件版本过低,显卡型号不支持 MIG;
- 设置 MIG profile 报错:GPU 正在被应用占用,需要停止 GPU 负载再修改分区;
- 虚拟机透传 MIG 分区失败:内核 PCI/VFIO 配置错误;分区没有正确生成;
- 一个分区报硬件错误,其余分区正常:体现 GPU‑P 硬件错误隔离特性。
记忆链路: GPU‑P (GPU Partitioning) 是GPU 硬件物理分区技术;核心由 GPU 片上固件完成硬件 Slice 切分;内核驱动向 OS 上报多个独立 GPU PCI 设备;裸金属即可使用,也可以透传虚拟机;每个分区拥有独立算力、显存、缓存;MIG 是 NVIDIA 的 GPU‑P 实现;Windows 不支持 MIG 硬件分区;消费级显卡不具备该硬件能力。
GPU-P(GPU Partitioning,微软 Hyper-V 硬件级 GPU 分区)完整演进历程
术语区分
一、前置铺垫阶段:RemoteFX vGPU 软件虚拟化(2012–2016,初代 GPU 共享,无硬件分区)
系统载体:Windows Server 2012 / 2012 R2
- 技术形态:纯软件时间切片共享,无硬件隔离,不依赖 SR-IOV;宿主机统一拦截虚拟机图形指令,串行转发给物理 GPU。
- 核心缺陷
- 无显存 / 算力硬件隔离,一台 VM 负载飙升会抢占全部 GPU 资源;
- 存在高危远程代码执行漏洞,微软标记高危;
- 性能损耗高,不支持 AI/CUDA 计算,仅适配 2D 轻量 VDI;
- 结局:Windows Server 2022 彻底移除 RemoteFX vGPU,作为 GPU-P 的过渡淘汰方案。
二、预研雏形:DDA 直通 + GPU-PV 半虚拟化(2016–2021,双并行技术铺垫底层架构)
1. DDA 离散设备直通(Windows Server 2016)
- 能力:1:1 完整直通整块 GPU 给单台 VM,无共享能力,资源利用率极低;
- 底层:完整 SR-IOV PF 直通,无 VF 拆分逻辑,是 GPU-P 硬件底层基础。
2. GPU-PV(GPU 半虚拟化,WDDM 2.4 / Win10 1803)
关键里程碑:WDDM 2.4 正式落地 GPU-PV 半虚拟化框架(GPU-P 核心原型)
- 诞生初衷:为 WSL2 提供 Linux GPU 加速,仅对内支持,未开放给普通 Hyper-V 虚拟机;
- 底层架构:VMBus 半虚拟化通道,宿主机代理转发 GPU 指令,无硬件 VF 隔离;
- 民间扩展:Easy-GPU-PV 脚本破解,实现 Windows 虚拟机共享 GPU,但无硬件安全边界,跨 VM 数据可泄露;
- 技术价值:完成 WDDM 虚拟化接口、GPU 资源调度、宿主机 / 虚拟机驱动通信全栈验证,为 GPU-P 铺路。
3. GPU-P 规划延期(2019–2022)
三、第一代正式落地:Windows Server 2025 / WDDM 3.1(2024 发布,GPU-P 1.0 商用版)
核心颠覆性设计(SR-IOV 硬件分区,GPU-P 正式定名)
- 硬件底层:复用 PCIe SR-IOV PF/VF 架构,物理 GPU (PF) 拆分为多个独立 VF 虚拟 GPU,硬件级显存、算力、编解码隔离,区别于 GPU-PV 软件共享;
- WDDM 驱动重构:WDDM 3.1 新增 GPU-P 分区调度接口,宿主机驱动管控各 VF 资源配额;
- 官方支持硬件:NVIDIA Turing/Ampere/Ada 系列数据卡(A2、L4、A10、A40、L40S),AMD 专业 SR-IOV 显卡;
- 基础能力
- 自定义切分比例:1/2、1/4、1/8 等分固定硬件分区;
- 硬件安全边界:VM 仅能访问分配给自己的 VF 资源,无法窥探其他虚拟机显存;
- 支持 CUDA、AI 推理、3D CAD、云游戏完整图形 / 计算负载;
- Windows 管理中心图形化配置 GPU 分区数量;
- 局限初代 1.0:不支持 GPU-P 虚拟机实时迁移 (Live Migration),无法集群故障转移,只能单机静态分配。
四、第二代成熟增强:WDDM 3.2 / Win11 24H2 / Azure Stack HCI 24H2(2025–2026,当前最新)
核心新增功能(GPU-P 2.0 完整生产级能力)
- GPU-P 实时迁移 Live Migration(最重大迭代)
引入 Dirty Bit Tracking 脏页追踪机制,迁移时增量同步 GPU 显存上下文,VM 带 GPU 分区跨主机无停机迁移,支持集群故障转移、负载均衡;
- 调度优化:动态资源权重调度,空闲 VM 自动释放闲置算力给高负载业务;
- 安全加固:增加 VF 隔离内存加密,阻断跨 VM 侧信道泄露;
- 兼容性扩容:新增 ReFS、大规模 AI 集群、多会话 Windows VDI 完整适配;
- 云原生落地:Azure 公有云 NV 系列 VM 全面基于 GPU-P 提供按量 GPU 分片实例,大规模商用。
五、GPU-P 配套技术演进时间线总表
| 阶段 | 时间 | 载体 | 核心技术 | 隔离层级 | 核心短板 |
|---|---|---|---|---|---|
| 初代软件共享 | 2012–2016 | Server2012 R2 RemoteFX vGPU | 纯软件时间切片 | 无硬件隔离,完全共享 | 漏洞多、不支持 CUDA,已废弃 |
| 直通铺垫 | 2016–2021 | Server2016 DDA | 1:1 GPU 完整直通 | 单 VM 独占,无分片 | 无法多 VM 共享,利用率低 |
| 半虚拟化原型 | 2018–2022 | Win10 1803 WDDM2.4 GPU-PV | VMBus 软件转发 | 软件逻辑隔离,无硬件边界 | 仅 WSL2 官方支持,安全弱 |
| GPU-P 1.0 正式版 | 2024 | Server2025 WDDM3.1 | SR-IOV 硬件 VF 分区 | 硬件显存 / 算力强隔离 | 无实时迁移,单机静态分配 |
| GPU-P 2.0 生产完整版 | 2025–2026 | Win11 24H2 / HCI24H2 WDDM3.2 | SR-IOV + 脏页追踪迁移 | 硬件隔离 + 动态调度 | 完善集群、迁移、云化能力 |
六、底层架构演进核心变化脉络
1. 共享模式演进:软件时间切片 → 半虚拟化转发 → SR-IOV 硬件空分
- RemoteFX:全局时间片轮询,所有 VM 共用一套硬件资源,无隔离;
- GPU-PV:VMBus 代理转发,软件层面拆分资源,硬件无隔离;
- GPU-P:SR-IOV 硬件预拆分 VF,每个 VF 拥有独立硬件资源通道,硬件原生隔离,延迟最低、安全最高。
2. WDDM 驱动栈演进
- WDDM2.x:仅支持单 GPU 完整直通 / 半虚拟化转发,无硬件分区调度接口;
- WDDM3.1:新增
GPUPartition硬件资源配额 API,管控 VF 显存、CUDA 核心、视频编码单元; - WDDM3.2:新增 GPU 上下文脏页追踪接口,支撑实时迁移,完善集群调度。
3. 安全边界演进
- 软件虚拟化:无硬件隔离,恶意 VM 可读取其他虚拟机 GPU 显存;
- GPU-P 硬件分区:PCIe 硬件 MMIO 隔离,VF 之间内存地址空间完全隔绝,IOMMU 二次阻断非法访问,杜绝跨 VM 凭据 / 数据窃取。
4. 运维能力演进
- 早期:仅 PowerShell 命令行配置,无集群、迁移能力;
- 现代 GPU-P 2.0:Windows 管理中心可视化管理、集群统一纳管、在线迁移、故障自动切换、资源监控报表。
七、GPU-P 与同期同类硬件分区技术演进对比
| 技术 | 厂商 | 底层标准 | 隔离方式 | 迁移能力 | 诞生时间 |
|---|---|---|---|---|---|
| GPU-P | 微软 Hyper-V | SR-IOV WDDM | 硬件 VF 强隔离 | 2025 新增 Live Migration | 2024 正式商用 |
| MIG | NVIDIA | GPU 硬件内部切片 | 硬件内部分区 | 依赖 vGPU 驱动迁移 | 2021 (Ampere 架构) |
| MXGPU | AMD | SR-IOV | 硬件 VF 隔离 | 无原生迁移 | 2017 |
| mdev/vGPU | Linux(KVM) | Mdev 中介设备 | 软件 + 硬件混合隔离 | 跨主机迁移复杂 | 2017 内核 4.10 |
八、演进核心驱动力
- VDI / 云游戏 / AI 推理高密度需求:单 GPU 多 VM 并发,解决 DDA 直通资源浪费;
- 安全合规需求:软件共享无隔离,存在数据泄露风险,SR-IOV 硬件分区满足等保、内网隔离要求;
- Windows 云化战略:Azure 公有云需要轻量分片 GPU 实例,GPU-P 作为底层基础设施;
- WDDM 图形驱动迭代:WDDM3.x 重构虚拟化层,补齐硬件分区、上下文迁移底层接口;
- 集群高可用诉求:初代 GPU-P 无法迁移,无法支撑企业生产集群,2 代补充 Live Migration 补齐生产短板。
GPU-P(GPU Partitioning)完整底层原理
一、整体分层调用链路
二、1. PCIe SR-IOV 硬件底层(分区物理基础)
1.1 PF/VF 硬件架构
- PF(Physical Function,物理功能)
GPU 主硬件接口,挂载在宿主机,拥有完整 GPU 全局控制权限,负责资源分配、VF 创建、配额管控、中断管理。
- VF(Virtual Function,虚拟功能)
PF 在硬件层面拆分出的独立轻量级 GPU 通道,是分配给虚拟机的最小硬件单元:
- 每个 VF 拥有独立 PCIe BAR 地址空间、独立 MMIO 寄存器窗口;
- 硬件预划分固定比例显存、CUDA 核心、视频编解码引擎;
- VF 之间硬件内存地址完全隔离,硬件阻断跨 VF 直接内存访问。
- 硬件切分规则(NVIDIA/Ampere/Ada 专业卡标准)
单 GPU 支持均分:1/2、1/4、1/8 分片,硬件锁死资源边界,宿主机软件无法突破硬件配额。
1.2 IOMMU 内存隔离加固
- 虚拟机仅能访问分配给自己的 VF 显存物理页;
- 阻断虚拟机 DMA 直接访问其他 VF、宿主机物理内存;
- 消除侧信道攻击、跨 VM 显存数据窃取风险,是合规隔离核心。
1.3 硬件中断隔离
三、2. WDDM 3.x GPU-P 驱动栈核心逻辑(软件调度层)
2.1 宿主机 PF 驱动核心职责
- 硬件资源分区初始化
接收 Hyper-V 配置的分片数量,下发指令给 GPU 固件,在硬件层面划分各 VF 显存、CUDA、编码器配额;
- 全局资源管控
统一调度 GPU 全局共享硬件单元(全局时钟、PCIe 带宽、电源管理),但不穿透各 VF 私有资源;
- VF 上下文脏页追踪(WDDM3.2 新增,支持热迁移)
硬件标记 VF 显存修改脏页,实时记录 GPU 渲染 / 计算上下文,为 Live Migration 提供增量同步数据;
- 故障隔离
单个 VF 虚拟机崩溃时,PF 驱动仅重置对应 VF 硬件通道,不影响其他 VF 与宿主机 GPU。
2.2 虚拟机 VF 客户驱动
- 仅枚举分配给自己的显存、算力核心、编解码单元;
- 图形 / 计算 API(DirectX、CUDA、OpenCL)调用直接下发至 VF 硬件通道,不经过宿主机软件中转;
- 无全局 GPU 控制权,无法修改硬件分区配额、窥探其他虚拟机资源。
2.3 与 GPU-PV 半虚拟化本质区别
| 特性 | GPU-P(SR-IOV 硬件分区) | GPU-PV(WSL2 半虚拟化) |
|---|---|---|
| 指令转发路径 | VM → VF 硬件直连 GPU,无宿主机代理 | VM → VMBus → 宿主机代理转发 GPU 指令 |
| 隔离等级 | PCIe 硬件 + IOMMU 双层强隔离 | 纯软件逻辑隔离,硬件资源完全共享 |
| 性能损耗 | 极低(<5%) | 高(15%~30%) |
| CUDA/AI 计算 | 完整支持 | 仅基础渲染,不支持 CUDA 计算 |
四、3. Hyper-V 虚拟化栈配套链路
3.1 VSP/VMBus 控制通道
- VSP:
vgpu.dllHyper-V GPU 分区服务,负责解析 PowerShell/UI 分区配置,下发给 WDDM PF 驱动; - VMBus:仅传输轻量元数据,不承载海量显存帧数据。
3.2 虚拟机生命周期联动
- 创建 VM 分配 GPU 分片:VSP 调用 WDDM 接口创建 VF,绑定 IOMMU 隔离域;
- 启动 VM:VF PCIe 设备透传至虚拟机,客户 WDDM 驱动加载;
- 关机 / 销毁 VM:PF 驱动释放 VF 硬件资源,回收显存与算力配额;
- 实时迁移(WDDM3.2):
- PF 驱动通过脏页追踪捕获 VF 显存增量修改;
- 通过 VMBus 将增量 GPU 上下文同步至目标宿主机;
- 目标主机创建对应 VF,恢复显存上下文,虚拟机无感知迁移。
五、4. 显存与算力资源隔离底层实现
4.1 显存隔离
- 物理 GPU 显存按分片比例在硬件划分为独立地址段,每个 VF 拥有专属物理显存区间;
- GPU 内存管理器(GMM)硬件级拦截跨 VF 显存读写请求,直接返回硬件错误;
- 虚拟机 CUDA/DirectX 内存分配仅能使用自身分片显存上限,超量直接抛出内存不足,无法抢占其他 VM 显存。
4.2 算力 / 编解码隔离
- CUDA 核心、光追核心、视频编码器硬件分组绑定对应 VF;
- 硬件调度器限制 VF 仅能调度自身分组硬件单元,高负载 VM 无法抢占其他 VF 计算资源;
- 多 4K/8K 视频转码场景,各 VM 编码硬件独立,互不抢占编码带宽。
六、5. 完整 GPU-P 工作流程(新建带 GPU 分区虚拟机)
- 管理员通过 PowerShell/Windows 管理中心指定 GPU 分片(如 1/4);
- Hyper-V VGPU VSP 调用 WDDM PF 驱动,下发 SR-IOV VF 创建指令;
- GPU 固件硬件划分独立 VF,分配专属显存、算力、PCIe BAR 空间;
- IOMMU 为 VF 创建独立 DMA 隔离域,阻断跨 VM 内存访问;
- 启动虚拟机,VF 作为 PCIe 虚拟设备透传至 VM;
- 虚拟机加载 WDDM VF 客户驱动,枚举自身分片 GPU 资源;
- VM 内应用 DirectX/CUDA 指令直接下发至 VF 硬件通道,硬件独立执行渲染 / 计算;
- 宿主机 PF 驱动仅监控全局状态,不介入虚拟机图形数据流。
七、6. 安全底层防护机制
- PCIe 硬件隔离:VF 之间 MMIO、显存地址空间硬件隔离,无硬件通路直接访问其他虚拟机资源;
- IOMMU DMA 阻断:虚拟机 DMA 仅能访问自身分配的内存页,防止 DMA 攻击窃取宿主机 / 其他 VM 数据;
- VF 权限锁死:虚拟机驱动无 PF 全局控制权限,无法修改 GPU 分区、重置其他 VF;
- 故障域隔离:单 VM 显卡崩溃仅重置对应 VF,不影响整机 GPU 与其他虚拟机;
- 无软件代理漏洞面:区别于 RemoteFX 全代理转发,数据流不经过宿主机图形代理,大幅削减远程代码执行攻击面。
八、7. 底层固有限制(硬件架构决定)
- 依赖 GPU 硬件 SR-IOV 固件支持,消费级游戏显卡普遍屏蔽 SR-IOV,仅专业数据卡(A2/L4/A10/L40S)可用;
- 初代 GPU-P(WDDM3.1)无脏页追踪,不支持实时迁移,WDDM3.2 才补齐;
- VF 分片比例为硬件固定等分(1/2/4/8),不支持自定义弹性资源配比;
- 单 GPU 最大 VF 数量受硬件固件限制,无法无限拆分;
- 不兼容 GPU 完整 DDA 直通模式,同一物理 GPU 只能选择 DDA 1:1 直通 或 GPU-P 分片,两种模式不能混用。
九、8. 与同类 GPU 虚拟化底层架构对比
| 技术 | 隔离载体 | 数据通路 | 核心底层依赖 |
|---|---|---|---|
| GPU-P(微软) | PCIe SR-IOV VF + IOMMU | VM ↔ VF 硬件直连 | WDDM3.x + SR-IOV PF/VF |
| NVIDIA MIG | GPU 内部硬件切片 | GPU 内部硬件总线 | NVIDIA 专属固件 vGPU 驱动 |
| AMD MxGPU | SR-IOV VF | VM ↔ VF 直连 | AMD 专业 SR-IOV 固件 |
| GPU-PV/WSL2 | 软件 VMBus 代理 | VM → 宿主机代理转发 | WDDM2.x 半虚拟化接口 |
| RemoteFX vGPU | 纯软件时间切片 | 全量指令宿主机中转 | 废弃 GDI 虚拟化栈 |
Server2025 和 GPU-P(GPU Partitioning,GPU 分区技术)的正式支持, Windows Server 2025 系统将全面支持 GPU-P 技术。然而,GPU-P 是一种将物理 GPU 划分为多个虚拟 GPU(vGPU)并分配给不同虚拟机或容器的技术。
如果你是在询问 Windows Server 或 Microsoft Hyper-V 是否已经正式支持 GPU-P 或类似的 GPU 虚拟化技术,那么可以看看以下几个要点:
1. GPU Virtualization 与 GPU-P:
GPU 分区技术,如 NVIDIA 的 MIG (Multi-Instance GPU) 和 AMD 的 MxGPU,允许将物理 GPU 分割成多个虚拟 GPU,从而让每个虚拟机或容器获得部分 GPU 资源。这在高性能计算、深度学习训练、图形加速等应用中非常有用。
目前,微软的 Hyper-V 虚拟化平台已经支持 GPU 直通(GPU passthrough) 和 vGPU(虚拟 GPU)功能。它允许在虚拟化环境中利用 GPU 加速。具体的支持情况取决于所使用的 GPU 硬件(如 NVIDIA GRID 系列、AMD MxGPU 技术等)和相关的驱动程序。
2. Windows Server 和 GPU-P 支持:
- 在 Windows Server 2016/2019/2022 中,Microsoft 提供了对 GPU 的基本支持,主要包括 GPU passthrough(GPU 直通)和部分 vGPU 支持(通过使用 NVIDIA GRID 等硬件支持)。
- Windows Server 2022 已经通过 Hyper-V 支持了某些 NVIDIA vGPU 特性,允许多台虚拟机共享 GPU 资源,前提是需要兼容的硬件和驱动支持。
3. GPU-P 在未来版本中的支持:
关于 Windows Server 2025 是全面支持 GPU-P,如果你指的是未来的服务器版本(例如 Windows Server Long-Term Servicing Channel (LTSC) 版本),则有可能会增加对更先进 GPU 分区技术的支持,但这需要依赖于硬件厂商的驱动更新和微软的系统支持。
4. 与硬件厂商的合作:
要使用 GPU-P,需要相应支持的硬件。NVIDIA 和 AMD 都提供了硬件和驱动程序支持,使得物理 GPU 可以进行分区并分配给多个虚拟机或容器。 Windows Server 中加入了对这些硬件技术的进一步支持,那么 GPU-P 可能会成为正式支持的一部分。
Windows Server 版本(包括 Server 2022)已经支持某些形式的 GPU 虚拟化和 GPU 直通,但 GPU-P 作为一种分区技术是否会在未来版本中得到更广泛支持, 。若你的需求是具体的 GPU-P 支持,可以查看硬件厂商(如 NVIDIA 或 AMD)与微软的技术路线图,了解他们是否会在新版本的操作系统中增加更详细的支持。
推荐做法:
- 查看 NVIDIA 或 AMD 的 GPU 虚拟化文档,了解他们的 GPU-P 分区技术是否已与 Windows Server 配合。
- 留意 Windows Server 2025 或未来版本的发布公告,特别是关于 GPU 虚拟化 和 GPU-P 相关的新增功能。
如果你是希望使用 GPU 加速功能的企业环境,考虑选择兼容的硬件平台和相应的虚拟化解决方案,这样可以获得更好的性能和资源管理支持。
GPU Partitioning (GPU-P) 是一种将单个物理 GPU 分割成多个虚拟 GPU (vGPU) 的技术。它使得多个虚拟机或容器能够共享物理 GPU 的计算资源,每个虚拟 GPU 都能独立运行、执行任务,且与其他虚拟 GPU 隔离。GPU Partitioning 的目的是优化 GPU 资源的使用,尤其是在多租户或大规模虚拟化环境中,以便让每个用户或虚拟机都能享有 GPU 加速的好处,而不需要每台虚拟机都配备独立的物理 GPU。
1. GPU Partitioning 的工作原理:
GPU Partitioning 技术通过将物理 GPU 的资源分割为多个小的、可管理的单元,使得每个虚拟机或容器可以使用 GPU 的部分资源,而不会相互干扰。这种分配方式类似于 CPU 分区(例如,虚拟 CPU)和 内存分区,可以实现资源的共享和动态分配。
通常,GPU-P 主要有两种实现方式:
-
硬件级 GPU Partitioning:例如,NVIDIA 的 Multi-Instance GPU (MIG) 和 AMD 的 MxGPU。这些技术通过硬件将物理 GPU 划分成多个虚拟 GPU 实例,每个实例具有独立的资源(如计算核心、内存、带宽等),可以分配给不同的虚拟机或容器。
-
软件级 GPU Partitioning:通过软件或驱动程序实现的 GPU 资源分割,通常是通过虚拟化管理程序或驱动程序来模拟多个虚拟 GPU 实例。
2. GPU Partitioning 的关键特性:
- 资源隔离:每个虚拟 GPU 都有独立的计算资源、内存和带宽,不同的虚拟机或容器之间不会相互影响。
- 灵活性:可以根据需求动态分配资源,例如为计算密集型的虚拟机分配更多的 GPU 资源,或者为其他虚拟机分配较少的资源。
- 性能优化:通过充分利用 GPU 的多核架构和内存带宽,使得多个虚拟机共享同一物理 GPU 时,不会出现显著的性能瓶颈。
- 成本效益:减少了为每个虚拟机配备独立 GPU 的需要,降低了硬件成本,适用于云计算、大规模数据中心等环境。
3. 支持 GPU Partitioning 的硬件:
目前,有一些主要的 GPU 制造商提供了对 GPU Partitioning 的支持:
-
NVIDIA:NVIDIA 提供了 MIG (Multi-Instance GPU) 技术,专门针对其 A100、A40、A30 等数据中心级 GPU。MIG 将物理 GPU 划分成多个子 GPU,每个子 GPU 拥有独立的内存和计算单元。MIG 可以在多个虚拟机或容器之间高效分配 GPU 资源。
-
AMD:AMD 的 MxGPU (Multi-user GPU) 技术支持硬件级虚拟化,能够将单个 GPU 分割成多个虚拟 GPU,供多个虚拟机使用,广泛用于虚拟化平台和云环境中。
4. GPU Partitioning 的应用场景:
-
云计算与虚拟化:在云环境中,GPU-P 能够提高资源的利用率,让多个租户或虚拟机共享 GPU 资源。这样,每个租户都能获得 GPU 加速的优势,而无需为每个虚拟机购买独立的 GPU。
-
数据中心与超算:在高性能计算(HPC)和大规模机器学习训练等场景中,GPU-P 可以高效地分配 GPU 资源,减少硬件开销,提高资源的利用效率。
-
深度学习与 AI 训练:深度学习训练通常需要大量的计算资源,通过 GPU-P,可以将多个 GPU 资源分配给不同的任务或训练模型,提高训练效率。
-
虚拟桌面基础架构 (VDI):为多个虚拟桌面或图形密集型应用提供 GPU 加速,例如 CAD、3D 渲染、虚拟现实等应用场景。
5. Windows Server 和 GPU Partitioning 支持:
目前,微软的虚拟化平台 Hyper-V 已经支持通过 GPU passthrough 和 vGPU 的方式来虚拟化 GPU 资源。对于 GPU-P,主要的支持还是依赖于硬件厂商的技术,如 NVIDIA MIG 和 AMD MxGPU 技术。
在 Windows Server 2022 和之后的版本中,虚拟化技术(尤其是 Hyper-V 和相关驱动程序)支持了对某些 vGPU 技术的支持,但这通常需要特定的硬件(如 NVIDIA GRID 卡或 AMD Radeon Pro 系列)和驱动程序支持。具体的 GPU-P 分区技术是否会被更广泛地集成到微软的操作系统中,还需要依赖于硬件厂商和微软的未来发展计划。
GPU Partitioning (GPU-P) 是一种通过将单个物理 GPU 分割为多个虚拟 GPU 实例的技术,可以让多个虚拟机或容器共享同一 GPU 的计算资源。它被广泛应用于云计算、高性能计算和深度学习训练等场景中,能够有效提高硬件资源的利用率。若要在 Windows Server 中使用 GPU-P,通常需要配合支持此技术的硬件和相应的虚拟化软件。

浙公网安备 33010602011771号