0

0

大模型与AI底层技术揭秘(27)食神挑战烤肥肠

看不見的法師

看不見的法師

发布时间:2025-04-27 09:08:01

|

322人浏览过

|

来源于php中文网

原创

小h最近因为沉迷于学习,体重减轻了不少,小伙伴们决定带他去享受美食。

他们来到一家专门烤羊腿和肥肠的餐馆,虽然人很多,但老板娘热情地招呼他们,说里面有包间,刚好能容纳6个人。小H和朋友们进入包间就座。尽管包间只是用屏风隔开的,看起来很简单,但比大厅要好。这些小包间看起来都是独立的。

用餐过程中,他们听到外面有人在吵:

“碱水面没有经过冷水处理,所以面里全是碱水味,鱼丸也没有鱼味,但你为了掩饰特意加了咖喱汁,想把它做成咖喱鱼丸,但这么做太简单,有时甚至是天真!原本美味的咖喱鱼丸,被你做得既没有鱼味也没有咖喱味,失败!萝卜没有挑选过,筋太多,失败!猪皮煮得太烂,失败!猪血一夹就散,失败中的失败!最糟糕的是肥肠,里面根本没洗干净,还有一坨……”

大模型与AI底层技术揭秘(27)食神挑战烤肥肠“你以为这里是香港吗?我们北方人吃肥肠就讲究不洗干净,洗干净就没味道了!滚!”老板娘指着来挑衅的人骂道。

这时,外面有人因为喝多了,并且听了老板娘的话,开始呕吐(Core Dump)。

大模型与AI底层技术揭秘(27)食神挑战烤肥肠小H和朋友们看着桌上吃了一半的烤肥肠,胃里翻江倒海,然后也有人吐了。趁着混乱,他们离开了餐馆,没有付钱。

方老师听完小H的故事,先是笑了一会儿,然后问小H:

上次学的NVidia vCUDA GPU虚拟化,你还记得吗?这个方案有什么缺陷?

小H想了想,总结道:vCUDA是替换虚拟机上的CUDA,让它连接到宿主机上的vCUDA Stub,然后调用宿主机上的GPU进行计算的方案。如果使用其他API库,就无法在虚拟机上使用GPU了。

小H突然想到,如果GPU支持SRIOV技术,将PF虚拟化为多个VF并直接传递给虚拟机,是不是就可以让多个虚拟机共享GPU的计算能力了呢?

实际上,NVidia在GPU领域的竞争对手AMD(收购了ATI的GPU),就采用了基于SRIOV的GPU虚拟化方案。

大模型与AI底层技术揭秘(27)食神挑战烤肥肠如图所示,AMD的GPU本身是PCI-E SRIOV的PF(物理功能),而每个虚拟化实例是一个VF(虚拟功能),并直接传递给一个VM。

Bolt.new
Bolt.new

Bolt.new是一个免费的AI全栈开发工具

下载

GPU的VF直接传递给VM的方式,与我们在前几期中学习的物理设备直接传递给VM实际上没有实质性差异,GuestOS看到的是经过Hypervisor调用IOMMU后映射的配置空间、Virtual BAR和DMA地址,CPU上的IOMMU和MMU会将地址翻译为物理地址,也就是让虚拟机能够操作真实的硬件。同时,VF产生的MSI中断也可以由vAPIC发送给虚拟机进行处理。

VM能够访问GPU后,就可以使用原生的CUDA应用和GPU驱动来访问VF设备,提交计算任务并在GPU中完成计算。

然而,SRIOV方式实现的GPU虚拟化有一个严重缺陷:只提供对虚拟机可见的多个设备,无法实现内部资源的隔离。也就是说,任何一个VM的CUDA程序越界访问GPU内存,都会导致其他VM的CUDA应用异常终止!

小H想到了昨晚在饭店的经历,虽然表面上自己在独立的包间用餐,但实际上并没有真正实现物理隔离。其他食客的异常操作(Core dump)导致了小H和朋友们的用餐任务异常终止(也有人Core dump了)。

看来,基于SRIOV的GPU虚拟化并不是一个好的方案。

那么,为什么网卡的SRIOV虚拟化在NFV场景中能够得到广泛应用呢?

这是因为,网卡实际上是一个无状态(stateless)的设备。网卡本身不承担计算任务,数据包的收发、关键字段的提取计算和收到的数据包分发到目标队列,实际上都是硬件定义的原子操作,不会被软件程序打断。因此,网卡的SRIOV实现实际上只是将一定数量的收发队列分配给VF。

但是GPU的复杂度远超网卡。它是一个有状态(stateful)的设备。GPU内部有各种计算单元、缓存和RAM控制器,这些部件的状态是由GPU计算指令决定的。实际上,GPU可以被认为是一个高度并行、图灵完备的向量计算机。在这样一个复杂的硬件中,实现硬件级别的虚拟化隔离,其难度甚至超过Intel在x86中引入VT-X系列特性!

因此,即使是在硬件虚拟化技术方面有深厚积累的Intel,在其GPU虚拟化路线上,也没有采用SR-IOV,而是使用了其他方案。

请看下期。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
虚拟化软件介绍
虚拟化软件介绍

虚拟化软件有VMware、VirtualBox、Hyper-V、Parallels Desktop、Oracle VirtualBox等。想了解更多虚拟化的相关内容,可以阅读本专题下面的文章。

394

2023.12.20

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

97

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

223

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

458

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

169

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

246

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
计算机系统从应用层到底层
计算机系统从应用层到底层

共6课时 | 0.4万人学习

开源物联网开发实例
开源物联网开发实例

共6课时 | 0.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号