windows11 实现Hyper-v ubuntu22.04 GPU虚拟化(GPU分区、GPU-P)教程

注:1、本文提到的vGPU、GPU分区都是指的微软的GPU-P技术。
2、在实操过程中,发现网上的很多文章要么记录不全,要么描述不清楚,导致的结果就是根本没法走通。希望通过该文章能解决小伙伴们在实操中遇到的一些坑。

前提说明

1、物理机需要支持SR-IOV,在主板BIOS中可以通过搜索SR-IOV,并打开SR-IOV。

2、物理机需要CPU支持IOMMU,Inter的cpu 需要在bios里开启VT-x,Amd的cpu需要在bios里 开启 AMD-V。

2、显卡驱动需要支持WDDM2.4以上版本“基于IOMMU的GPU隔离(在windows的搜索框中输入 “dxdiag”然后确定,可查看驱动支持的WDDM版本)。

3、虚拟机和宿主机的系统(或wsl里的系统)版本需要一致,同时必须从宿主机(或wsl里的系统)提取显卡驱动程序到虚拟机。如果宿主机升级了驱动程序,那么虚拟机必须也跟着升级。

4、涉及到显存分配操作,所以虚拟机的检查点,自动停止,内存动态分配这些都不可用。

5、本教程wsl和虚拟机里的来宾操作系统都必须为 Ubuntu 22.04。

6、本文中提到的宿主机指的是windows11操作系统。本文中的wsl指的都是wsl2。

7、Powershell必须以“以管理员身份运行“。

一、安装wsl2及Ubuntu 22.04

具体安装方法详见专栏里的另外一篇文章: Windows10安装wls、ubuntu22.04以及解决无法访问互联网的问题

二、安装虚拟化工具Hyper-V

在windows搜索框中输入“启用或关闭windows功能”,然后选中打开。
在这里插入图片描述
打开后勾选“Hyper-V”,点击确定,系统会自动安装Hyper-V,安装完成后重启电脑。
在这里插入图片描述

三、hyper-v安装ubuntu

新建hyper-v 二代虚拟机。虚拟机名称:ubuntu2204, 安装的是ubuntu server22.04版本。该版本必须与wsl里的linux系统版本一致,同时关闭虚拟机的安全启动、动态内存和检查点。
具体安装方法详见:Windows10/11 hyper-v安装ubuntu22.04
在这里插入图片描述

四、验证宿主机GPU是否正常

1、验证宿主机GPU驱动是否正常

nvidia-smi

如果驱动程序安装成功,会返回如下信息:

在这里插入图片描述

2、验证wsl2 ubuntu上的GPU驱动是否正常

nvidia-smi

如果驱动程序安装成功,会返回如下信息:

在这里插入图片描述

3、查看宿主机上的支持 GPU 分区的GPU

以管理员身份运行powershell,输入以下命令。

Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts

下面是 Get-VMHostPartitionableGpu 命令的示例输出,其中显示此服务器上安装了两个可分区的 GPU 驱动程序。 第一个 GPU 配置的分区计数为 32,第二个 GPU 配置的分区计数为 32。
在这里插入图片描述

通过windows的设备管理器,查看每个位置对应的到底是哪张卡。
在这里插入图片描述

五、为hyper-v 的虚拟机添加Gpu分区

输入以下代码(添加GPU分区后无法修改内存分配大小。

如果需要更改内存分配,先执行Remove-VMGpuPartitionAdapter -VMName $vmName再修改, 修改后再执行下面的代码)

先查看宿主机显卡的参数,根据查询到的信息再去修改分配给虚拟机的参数

Get-VMHostPartitionableGpu

比如本文查询到的参数是:

Name                          : \\?\PCI#VEN_10DE&DEV_1E07&SUBSYS_12A410DE&REV_A1#4&7d659fe&0&0009#{064092b3-625e-43bf-9
                                eb5-dc845897dd59}\GPUPARAV
ValidPartitionCounts          : {32}
PartitionCount                : 32
TotalVRAM                     : 1000000000
AvailableVRAM         

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/933363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

沐风老师3DMAX摄相机阵列插件使用方法

3DMAX摄相机阵列插件,从网格对象或样条线的顶点法线快速创建摄相机阵列。该插件从网格的顶点或样条线的节点获取每个摄影机的位置和方向。 3DMAX摄相机阵列插件支持目前3dMax主流的物理相机、标准相机、VRay物理相机。 【版本要求】 3dMax 2015及更高版本 【安装方…

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目,依赖包也比较大,咱就按正常流程走一遍来详细解决这个问题,先看一下node版本,我用的是nvm管理的,详细可以看我的其他文章 友情提醒:如果项目比较老,包又大,又有一些需…

飞飞5.4游戏源码(客户端+服务端+工具完整源代码+5.3fix+5.4patch+数据库可编译进游戏)

飞飞5.4游戏源码(客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏) 下载地址: 通过网盘分享的文件:【源码】飞飞5.4游戏源码(客户端服务端工具完整源代码5.3fix5.4patch数据库可编译进游戏) 链…

springboot的 nacos 配置获取不到导致启动失败及日志不输出问题

前言 问题 1. 本地启动应用时,一切正常,但是部署 docker 后,会因为获取不到 nacos 中的配置导致服务启动失败。 2.当 docker 中的服务一直重启,可能会突然某一次启动成功,之后只要不重新构建 docker 镜像&am…

Docker Compose实战一( 轻松部署 Nginx)

通过过前面的文章(Docker Compose基础语法)你已经掌握基本语法和常用指令认识到Docker Compose作为一款强大工具的重要性,它极大地简化了多容器Docker应用程序的部署与管理流程。本文将详细介绍如何使用 Docker Compose 部署 Nginx&#xff0…

汽车IVI中控OS Linux driver开发实操(二十八):回声消除echo cancellation和噪声消除Noise reduction

概述: 在当今高度互联的世界中,清晰的实时通信比以往任何时候都更重要。在远程团队会议期间,没有什么能像回声一样打断对话。当说话者听到他们的声音回响时,可能会分散注意力,甚至无法理解对话。即使是很小的回声也会产生很大的影响,仅仅25毫秒的振幅就足以造成声音干扰…

计算机毕设-基于springboot的实践性教学系统设计与实现(附源码+lw+ppt+开题报告)

博主介绍:✌多个项目实战经验、多个大型网购商城开发经验、在某机构指导学员上千名、专注于本行业领域✌ 技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战…

UE5 猎户座漂浮小岛 09 移动能力 角色属性

UE5 猎户座漂浮小岛 09 移动能力 角色属性(1) 1.移动能力 1.1 加速跑 BlendSpace:混合空间 2.角色属性 2.1 行动点数 AP:Action Point Max AP:Max Action Point AP CPS:Action Point Consume Per Sec…

低级爬虫实现-记录HCIP云架构考试

因工作需要考HCIP云架构(HCIP-Cloud Service Solution Architect)证书, 特意在淘宝上买了题库, 考过了。 事后得知自己被坑了, 多花了几十大洋。 所以想着在授权期内将题库“爬”下来, 共享给大家。 因为整个过程蛮有…

IDEA实现javaweb用户登录(增删改查)

IDEA实现javaweb用户登录(增删改查) 文章目录 IDEA实现javaweb用户登录(增删改查)前言一、IDEA 软件的简单使用1 创建一个普通 java 项目2 新增 web 配置将项目由普通的Java项目变为 javaweb项目2.1 新增 web 配置2.2 新增项目文件…

【机器学习】——windows下安装anaconda并在vscode上进行配置

一、安装anaconda 1.进入清华的镜像网站,下载自己电脑对应的anaconda版本。网站:https://repo.anaconda.com/archive/ 这里我下载的版本是anaconda3-2024.10-1-Windows-x86-64 2.下载完毕后开始安装anaconda 3.配置anaconda环境变量 在设置中找到编…

3.5 认识决策树

3.5 认识决策树 3.5.1 认识决策树 如何高效的进行决策? 特征的先后顺序 3.5.2 决策树分类原理详解 已知有四个特征,预测 是否贷款给某个人。 先看房子,再看工作,是否贷款。 年龄,信贷情况,工作&#…

【Windows11系统局域网共享文件数据】

【Windows11系统局域网共享文件数据】 1. 引言1. 规划网络2. 获取必要的硬件3. 设置网络4. 配置网络设备5. 测试网络连接6. 安全性和维护7. 扩展和优化 2. 准备工作2.1: 启用网络发现和文件共享2.2: 设置共享文件夹 3. 访问共享文件夹4. 小贴士5. 总结 1. 引言 随着家庭和小型办…

[SWPUCTF 2022 新生赛]funny_php

进入靶场环境 <?phpsession_start();highlight_file(__FILE__);if(isset($_GET[num])){if(strlen($_GET[num])<3&&$_GET[num]>999999999){echo ":D";$_SESSION[L1] 1;}else{echo ":C";}}if(isset($_GET[str])){$str preg_replace(/NS…

ARMv8-A MacOS调试环境搭建

文章目录 简介安装qemu交叉编译工具链C语言插件 gdb调试测试代码添加调试配置 JLink 调试树莓派 简介 本节主要介绍基于Visual Studio Code在MacOS下调试环境的搭建&#xff0c;Linux发行版上的过程也类型&#xff0c;它主要使用到以下工具链&#xff1a; aarch64 架构的交叉…

HDR视频技术之六:色调映射

图像显示技术的最终目的就是使得显示的图像效果尽量接近人们在自然界中观察到的对应的场景。 HDR 图像与视频有着更高的亮度、更深的位深、更广的色域&#xff0c;因此它无法在常见的普通显示器上显示。 入门级的显示器与播放设备&#xff08;例如普通人家使用的电视&#xff0…

力扣HOT 100(图)

图论 797. 所有可能的路径 为什么path先把索引加上&#xff0c;图这个数据结构的索引&#xff0c;包含了数据信息&#xff0c;所以索引到数据表再到索引这个过程。一般回溯索引没有涉及问题中的含义。 class Solution {List<Integer> pathnew ArrayList<>();/…

Oracle 一键检查加强版本

支持更丰富了&#xff0c;代码也更乱了 实例个数 告警日志 实例状态 用户连接 活动会话 锁 集群状态 服务状态 磁盘空间 cpu mem 侦听及日志 单机、RAC Linux、AIX 11g、19c、23ai 多实例、多租户、ADG 依赖adrci配置正常&#xff0c;也可以改为 getAlert() 将脚本保存为j.…

开发者如何使用GCC提升开发效率Opencv操作

看此篇前请先阅读 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144134160?spm=1001.2014.3001.5502 https://blog.csdn.net/qq_20330595/article/details/144216351?spm=1001…