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 内部关键模块

  1. GPU 固件分区管理器(Firmware Partition Manager) GPU 片上固件,真正执行硬件切分;配置计算 Slice 数量、显存分片、L2 划分、媒体引擎分配;设置硬件隔离屏障,防止分区之间越权访问显存。

MIG 的 gpu‑manager 固件就属于该模块;分区配置可以静态固化,也可以运行时动态重构。

  1. GPU 内核驱动 Partition 抽象层 接收固件上报的分区拓扑;向操作系统 PCIe 层虚拟出多个 GPU 设备实例;管理每个分区的资源配额、中断隔离、错误隔离;处理分区创建 / 销毁 / 重配置。
  2. PCIe 虚拟设备枚举层 GPU‑P 生成的每个分区,在 OS 看来是独立 PCIe 设备;拥有独立 BDF 号;虚拟机可以直接透传单个 GPU‑P 分区(类似 SR‑IOV PF/VF)。
  3. 用户态 SDK / 运行时库 CUDA / ROCm / OneAPI:识别本机多个 GPU‑P 分区实例;应用无感知,像使用多块物理 GPU 一样调用每个分区。
  4. 资源管理控制平面(管理工具) 命令行工具,用于设置分区 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 依赖

  1. Linux:/sys/bus/pci/devices/ 每个 GPU‑P 分区拥有独立 PCI 设备节点;/sys/class/mig/暴露 MIG 分区拓扑。
  2. NVIDIA 驱动参数:模块参数控制 MIG 开启 / 关闭。

GPU‑P不依赖 Hypervisor(虚拟机监控器):裸金属环境就可以直接切分 GPU;这是和 SR‑IOV 的重要区别。

三、配套链、工具与交互入口

  1. 硬件管理工具
  • nvidia‑smi:查看、查询 MIG (GPU‑P) 分区;设置 partition profile;
  • nvidia‑mig‑manager:守护进程,持久化 MIG 配置;
  • rocm‑smi(AMD);intel_gpu_top(Intel)。
  1. 虚拟化配套
  • KVM:将单个 GPU‑P 分区(逻辑 PCI 设备)直接 VF 透传给虚拟机;VM 内部感知为独立物理 GPU;
  • 容器:Kubernetes GPU 调度 (nvidia‑container‑toolkit),调度 GPU‑P 分区给容器;不需要透传,裸金属直接分配。
  1. 监控
  • nvidia‑smi / DCGM (Data Center GPU Manager):监控每个 GPU‑P 分区算力、显存利用率、错误隔离状态;
  • prometheus DCGM exporter,采集分区指标。
  1. 操作系统约束
  • Linux:主流完整支持 GPU‑P (MIG);
  • Windows:NVIDIA MIG (GPU‑P) 无支持;只能用 vGPU(时间切片 GPU‑v);
  • 虚拟机内部:透传得到 GPU‑P 分区后,VM 内部驱动只识别分配给自己的分区,看不到其他分区。

四、边界、限制、坑点

✅能力边界

  1. 硬件级资源隔离:每个 GPU‑P 分区拥有独立计算核心、显存、L2、媒体编解码;不是软件时间切片;
  2. 裸金属即可使用,不一定需要 Hypervisor;
  3. 分区可透传给虚拟机,VM 内视为独立 GPU;
  4. 支持多种 Profile,可选择不同算力 / 显存配比;
  5. 错误隔离:大部分硬件错误局限在单个分区,不影响其他分区(取决于固件能力)。

❌边界与高频误区

  1. GPU‑P (MIG) 是硬件固件能力,普通消费级显卡不支持;只有数据中心 GPU (A100/H100 等) 支持;消费卡没有对应的硬件 Slice 与固件支持。
  2. GPU‑P 开启后,GPU 不能直接完整使用;必须销毁全部分区,才能恢复完整 GPU 模式。
  3. 分区粒度受硬件约束:不能任意切分;只能使用硬件固件提供的固定 Profile,不能随意自定义显存大小。
  4. Windows 下 NVIDIA 不支持 MIG (GPU‑P 硬件分区),Windows 只能使用 vGPU (GPU‑v 时间切片虚拟化),二者隔离能力完全不同。
  5. 虽然硬件隔离,但 GPU 全局资源(如部分电源管理、硬件报错)仍然属于整个物理 GPU;极端硬件故障(如 GPU die 硬件损坏)会影响全部分区。
  6. 不是 SR‑IOV:GPU‑P 生成的逻辑设备,逻辑上类似 VF,但实现路径是 GPU 内部硬件 Partition,不是 PCIe SR‑IOV;部分 GPU‑P 可以配合 SR‑IOV,二者是两套技术。
  7. 应用无需修改:CUDA 应用不需要改造;程序看到多个 GPU 设备,直接选择对应分区设备 ID 即可。

典型故障现象

  1. nvidia‑smi 看不到 MIG 配置选项:BIOS 未开启 GPU‑P/MIG,或者 GPU 固件版本过低,显卡型号不支持 MIG;
  2. 设置 MIG profile 报错:GPU 正在被应用占用,需要停止 GPU 负载再修改分区;
  3. 虚拟机透传 MIG 分区失败:内核 PCI/VFIO 配置错误;分区没有正确生成;
  4. 一个分区报硬件错误,其余分区正常:体现 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 分区)完整演进历程

术语区分

GPU-P = Microsoft GPU Partitioning,微软 Hyper-V 专属 SR-IOV 硬件 GPU 分区技术,依托 WDDM 驱动栈 + SR-IOV 虚拟功能 (VF),将单物理 GPU 切分为多隔离虚拟 GPU 给多台 VM;
 
同期竞品:NVIDIA MIG、Linux mdev/vGPU、AMD MxGPU,技术路线完全独立。

一、前置铺垫阶段:RemoteFX vGPU 软件虚拟化(2012–2016,初代 GPU 共享,无硬件分区)

系统载体:Windows Server 2012 / 2012 R2

  1. 技术形态:纯软件时间切片共享,无硬件隔离,不依赖 SR-IOV;宿主机统一拦截虚拟机图形指令,串行转发给物理 GPU。
  2. 核心缺陷
    • 无显存 / 算力硬件隔离,一台 VM 负载飙升会抢占全部 GPU 资源;
    • 存在高危远程代码执行漏洞,微软标记高危;
    • 性能损耗高,不支持 AI/CUDA 计算,仅适配 2D 轻量 VDI;
  3. 结局: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 核心原型)

  1. 诞生初衷:为 WSL2 提供 Linux GPU 加速,仅对内支持,未开放给普通 Hyper-V 虚拟机;
  2. 底层架构:VMBus 半虚拟化通道,宿主机代理转发 GPU 指令,无硬件 VF 隔离;
  3. 民间扩展:Easy-GPU-PV 脚本破解,实现 Windows 虚拟机共享 GPU,但无硬件安全边界,跨 VM 数据可泄露;
  4. 技术价值:完成 WDDM 虚拟化接口、GPU 资源调度、宿主机 / 虚拟机驱动通信全栈验证,为 GPU-P 铺路。

3. GPU-P 规划延期(2019–2022)

微软原计划 Windows Server 2019 推出 SR-IOV 硬件 GPU-P,因 NVIDIA/AMD 驱动 SR-IOV 适配、WDDM 硬件隔离逻辑缺陷延期,Server2019/2022 仅保留 DDA 与 GPU-PV,无正式 GPU-P 功能。

三、第一代正式落地:Windows Server 2025 / WDDM 3.1(2024 发布,GPU-P 1.0 商用版)

核心颠覆性设计(SR-IOV 硬件分区,GPU-P 正式定名)

  1. 硬件底层:复用 PCIe SR-IOV PF/VF 架构,物理 GPU (PF) 拆分为多个独立 VF 虚拟 GPU,硬件级显存、算力、编解码隔离,区别于 GPU-PV 软件共享;
  2. WDDM 驱动重构:WDDM 3.1 新增 GPU-P 分区调度接口,宿主机驱动管控各 VF 资源配额;
  3. 官方支持硬件:NVIDIA Turing/Ampere/Ada 系列数据卡(A2、L4、A10、A40、L40S),AMD 专业 SR-IOV 显卡;
  4. 基础能力
    • 自定义切分比例:1/2、1/4、1/8 等分固定硬件分区;
    • 硬件安全边界:VM 仅能访问分配给自己的 VF 资源,无法窥探其他虚拟机显存;
    • 支持 CUDA、AI 推理、3D CAD、云游戏完整图形 / 计算负载;
    • Windows 管理中心图形化配置 GPU 分区数量;
  5. 局限初代 1.0:不支持 GPU-P 虚拟机实时迁移 (Live Migration),无法集群故障转移,只能单机静态分配。

四、第二代成熟增强:WDDM 3.2 / Win11 24H2 / Azure Stack HCI 24H2(2025–2026,当前最新)

核心新增功能(GPU-P 2.0 完整生产级能力)

  1. GPU-P 实时迁移 Live Migration(最重大迭代)
     
    引入 Dirty Bit Tracking 脏页追踪机制,迁移时增量同步 GPU 显存上下文,VM 带 GPU 分区跨主机无停机迁移,支持集群故障转移、负载均衡;
  2. 调度优化:动态资源权重调度,空闲 VM 自动释放闲置算力给高负载业务;
  3. 安全加固:增加 VF 隔离内存加密,阻断跨 VM 侧信道泄露;
  4. 兼容性扩容:新增 ReFS、大规模 AI 集群、多会话 Windows VDI 完整适配;
  5. 云原生落地: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 硬件空分

  1. RemoteFX:全局时间片轮询,所有 VM 共用一套硬件资源,无隔离;
  2. GPU-PV:VMBus 代理转发,软件层面拆分资源,硬件无隔离;
  3. GPU-P:SR-IOV 硬件预拆分 VF,每个 VF 拥有独立硬件资源通道,硬件原生隔离,延迟最低、安全最高。

2. WDDM 驱动栈演进

  1. WDDM2.x:仅支持单 GPU 完整直通 / 半虚拟化转发,无硬件分区调度接口;
  2. WDDM3.1:新增GPUPartition硬件资源配额 API,管控 VF 显存、CUDA 核心、视频编码单元;
  3. WDDM3.2:新增 GPU 上下文脏页追踪接口,支撑实时迁移,完善集群调度。

3. 安全边界演进

  1. 软件虚拟化:无硬件隔离,恶意 VM 可读取其他虚拟机 GPU 显存;
  2. GPU-P 硬件分区:PCIe 硬件 MMIO 隔离,VF 之间内存地址空间完全隔绝,IOMMU 二次阻断非法访问,杜绝跨 VM 凭据 / 数据窃取。

4. 运维能力演进

  1. 早期:仅 PowerShell 命令行配置,无集群、迁移能力;
  2. 现代 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

八、演进核心驱动力

  1. VDI / 云游戏 / AI 推理高密度需求:单 GPU 多 VM 并发,解决 DDA 直通资源浪费;
  2. 安全合规需求:软件共享无隔离,存在数据泄露风险,SR-IOV 硬件分区满足等保、内网隔离要求;
  3. Windows 云化战略:Azure 公有云需要轻量分片 GPU 实例,GPU-P 作为底层基础设施;
  4. WDDM 图形驱动迭代:WDDM3.x 重构虚拟化层,补齐硬件分区、上下文迁移底层接口;
  5. 集群高可用诉求:初代 GPU-P 无法迁移,无法支撑企业生产集群,2 代补充 Live Migration 补齐生产短板。

 

GPU-P(GPU Partitioning)完整底层原理

GPU-P 是微软基于 PCIe SR-IOV + WDDM 3.x 实现的硬件级 GPU 分区方案,运行在 Hyper-V 虚拟化栈,核心是将单张物理 GPU(PF,物理功能)硬件切分为多个独立 VF(虚拟功能),为每台虚拟机分配隔离的显存、算力、编解码资源,区别于 RemoteFX/GPU-PV 纯软件共享。

一、整体分层调用链路

物理 GPU 硬件 → PCIe SR-IOV PF/VF 硬件层 → IOMMU 内存隔离 → WDDM 3.x GPU-P 宿主机驱动 → Hyper-V VSP/VMBus → 虚拟机 WDDM 客户驱动 → VM 内图形 / 计算应用
 
全链路实现硬件原生隔离,而非宿主机软件分时切片。

二、1. PCIe SR-IOV 硬件底层(分区物理基础)

1.1 PF/VF 硬件架构

  1. PF(Physical Function,物理功能)
     
    GPU 主硬件接口,挂载在宿主机,拥有完整 GPU 全局控制权限,负责资源分配、VF 创建、配额管控、中断管理。
  2. VF(Virtual Function,虚拟功能)
     
    PF 在硬件层面拆分出的独立轻量级 GPU 通道,是分配给虚拟机的最小硬件单元:
    • 每个 VF 拥有独立 PCIe BAR 地址空间、独立 MMIO 寄存器窗口;
    • 硬件预划分固定比例显存、CUDA 核心、视频编解码引擎;
    • VF 之间硬件内存地址完全隔离,硬件阻断跨 VF 直接内存访问。
  3. 硬件切分规则(NVIDIA/Ampere/Ada 专业卡标准)
     
    单 GPU 支持均分:1/2、1/4、1/8 分片,硬件锁死资源边界,宿主机软件无法突破硬件配额。

1.2 IOMMU 内存隔离加固

主板 IOMMU(Intel VT-d / AMD IOV)对每个 VF 做独立 DMA 地址翻译:
  • 虚拟机仅能访问分配给自己的 VF 显存物理页;
  • 阻断虚拟机 DMA 直接访问其他 VF、宿主机物理内存;
  • 消除侧信道攻击、跨 VM 显存数据窃取风险,是合规隔离核心。

1.3 硬件中断隔离

每个 VF 分配独立 MSI-X 中断向量,虚拟机图形负载中断不会互相干扰,无共享中断抢占延迟。

三、2. WDDM 3.x GPU-P 驱动栈核心逻辑(软件调度层)

GPU-P 依赖 WDDM 3.1 及以上 新增专用 GPU 分区接口,分为宿主机驱动(PF 驱动)与虚拟机客户驱动(VF 驱动)两层。

2.1 宿主机 PF 驱动核心职责

  1. 硬件资源分区初始化
     
    接收 Hyper-V 配置的分片数量,下发指令给 GPU 固件,在硬件层面划分各 VF 显存、CUDA、编码器配额;
  2. 全局资源管控
     
    统一调度 GPU 全局共享硬件单元(全局时钟、PCIe 带宽、电源管理),但不穿透各 VF 私有资源;
  3. VF 上下文脏页追踪(WDDM3.2 新增,支持热迁移)
     
    硬件标记 VF 显存修改脏页,实时记录 GPU 渲染 / 计算上下文,为 Live Migration 提供增量同步数据;
  4. 故障隔离
     
    单个 VF 虚拟机崩溃时,PF 驱动仅重置对应 VF 硬件通道,不影响其他 VF 与宿主机 GPU。

2.2 虚拟机 VF 客户驱动

虚拟机内仅识别分配到自身的 VF 虚拟 GPU,完全看不到其他 VF、物理 PF 硬件资源
  1. 仅枚举分配给自己的显存、算力核心、编解码单元;
  2. 图形 / 计算 API(DirectX、CUDA、OpenCL)调用直接下发至 VF 硬件通道,不经过宿主机软件中转;
  3. 无全局 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 控制通道

VMBus 仅承载控制指令(分区配置、迁移同步、状态查询),图形 / 计算数据流直接走 PCIe VF 硬件通道,不经过 VMBus 转发,这是 GPU-P 低延迟核心原因。
  • VSP:vgpu.dll Hyper-V GPU 分区服务,负责解析 PowerShell/UI 分区配置,下发给 WDDM PF 驱动;
  • VMBus:仅传输轻量元数据,不承载海量显存帧数据。

3.2 虚拟机生命周期联动

  1. 创建 VM 分配 GPU 分片:VSP 调用 WDDM 接口创建 VF,绑定 IOMMU 隔离域;
  2. 启动 VM:VF PCIe 设备透传至虚拟机,客户 WDDM 驱动加载;
  3. 关机 / 销毁 VM:PF 驱动释放 VF 硬件资源,回收显存与算力配额;
  4. 实时迁移(WDDM3.2):
    1. PF 驱动通过脏页追踪捕获 VF 显存增量修改;
    2. 通过 VMBus 将增量 GPU 上下文同步至目标宿主机;
    3. 目标主机创建对应 VF,恢复显存上下文,虚拟机无感知迁移。

五、4. 显存与算力资源隔离底层实现

4.1 显存隔离

  1. 物理 GPU 显存按分片比例在硬件划分为独立地址段,每个 VF 拥有专属物理显存区间;
  2. GPU 内存管理器(GMM)硬件级拦截跨 VF 显存读写请求,直接返回硬件错误;
  3. 虚拟机 CUDA/DirectX 内存分配仅能使用自身分片显存上限,超量直接抛出内存不足,无法抢占其他 VM 显存。

4.2 算力 / 编解码隔离

  1. CUDA 核心、光追核心、视频编码器硬件分组绑定对应 VF;
  2. 硬件调度器限制 VF 仅能调度自身分组硬件单元,高负载 VM 无法抢占其他 VF 计算资源;
  3. 多 4K/8K 视频转码场景,各 VM 编码硬件独立,互不抢占编码带宽。

六、5. 完整 GPU-P 工作流程(新建带 GPU 分区虚拟机)

  1. 管理员通过 PowerShell/Windows 管理中心指定 GPU 分片(如 1/4);
  2. Hyper-V VGPU VSP 调用 WDDM PF 驱动,下发 SR-IOV VF 创建指令;
  3. GPU 固件硬件划分独立 VF,分配专属显存、算力、PCIe BAR 空间;
  4. IOMMU 为 VF 创建独立 DMA 隔离域,阻断跨 VM 内存访问;
  5. 启动虚拟机,VF 作为 PCIe 虚拟设备透传至 VM;
  6. 虚拟机加载 WDDM VF 客户驱动,枚举自身分片 GPU 资源;
  7. VM 内应用 DirectX/CUDA 指令直接下发至 VF 硬件通道,硬件独立执行渲染 / 计算;
  8. 宿主机 PF 驱动仅监控全局状态,不介入虚拟机图形数据流。

七、6. 安全底层防护机制

  1. PCIe 硬件隔离:VF 之间 MMIO、显存地址空间硬件隔离,无硬件通路直接访问其他虚拟机资源;
  2. IOMMU DMA 阻断:虚拟机 DMA 仅能访问自身分配的内存页,防止 DMA 攻击窃取宿主机 / 其他 VM 数据;
  3. VF 权限锁死:虚拟机驱动无 PF 全局控制权限,无法修改 GPU 分区、重置其他 VF;
  4. 故障域隔离:单 VM 显卡崩溃仅重置对应 VF,不影响整机 GPU 与其他虚拟机;
  5. 无软件代理漏洞面:区别于 RemoteFX 全代理转发,数据流不经过宿主机图形代理,大幅削减远程代码执行攻击面。

八、7. 底层固有限制(硬件架构决定)

  1. 依赖 GPU 硬件 SR-IOV 固件支持,消费级游戏显卡普遍屏蔽 SR-IOV,仅专业数据卡(A2/L4/A10/L40S)可用;
  2. 初代 GPU-P(WDDM3.1)无脏页追踪,不支持实时迁移,WDDM3.2 才补齐;
  3. VF 分片比例为硬件固定等分(1/2/4/8),不支持自定义弹性资源配比;
  4. 单 GPU 最大 VF 数量受硬件固件限制,无法无限拆分;
  5. 不兼容 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 虚拟化栈

Server2025GPU-P(GPU Partitioning,GPU 分区技术)的正式支持,  Windows Server 2025 系统将全面支持 GPU-P 技术。然而,GPU-P 是一种将物理 GPU 划分为多个虚拟 GPU(vGPU)并分配给不同虚拟机或容器的技术。

如果你是在询问 Windows ServerMicrosoft 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 passthroughvGPU 的方式来虚拟化 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,通常需要配合支持此技术的硬件和相应的虚拟化软件。


 

posted @ 2024-11-20 09:11  suv789  阅读(1109)  评论(0)    收藏  举报