资讯动态

沐曦与红帽联手MXAIE:国产GPU的AI基础设施生态破局

发布时间:2026/10/20 14:30:44 来源:尧图企业网站定制
在当前AI基础软件生态快速收敛的节点上一个国产GPU厂商和一个老牌企业级Linux发行版厂商坐到一起搞出来的这个MXAIE方案确实值得花点时间研究下。我做AI基础设施相关工作很多年平时打交道最多的就是各种加速卡、驱动、容器运行时和调度框架看到沐曦股份和红帽这种“芯片原厂OS原厂”的组合第一反应是这事终于有人把链路做完整了。这篇东西不打算写成通稿复述我想从一个干活的工程师视角聊聊这套方案到底解决了我平时什么痛点它是怎么设计出来的以及如果想要上手用该从哪几个层面切入。1. 开源协同的底层逻辑一个生态是怎么被“谈”出来的1.1 为什么国产加速卡绕不开OS这一层可能有人会问做AI加速卡就好好做算力、做显存、做互联带宽跟操作系统有什么关系这个问题的答案恰恰藏在过去几年AI集群落地最痛苦的环节里。我们部署一套AI训练或推理环境表面上装的是GPU驱动和CUDA或者ROCm这样的计算平台实际上底层还要跟内核模块、内存管理、设备映射、容器隔离、资源调度全部打交道。比如你用K8s跑训练任务调度器要感知GPU显存、算力、利用率你用容器跑推理服务要确保设备节点能安全挂载进容器你上生产环境要保证驱动升级不影响正在跑的在线任务。这一整套东西靠硬件厂商单方面是搞不定的它需要操作系统发行版在底层做大量适配工作。传统头部GPU厂商之所以强不只是因为芯片设计强更在于它用十几年时间把底层的软件栈填满了。从编译器到开发库、从驱动到集群调度插件层层都有成熟方案。国产加速卡过去遇到的问题不是算力不够而是从驱动到容器再到调度器的整条链路里到处是“断层”。中间缺任何一环用户落到生产环境就是寸步难行。这就是沐曦股份为什么要找红帽坐下来谈的本质原因芯片做出来只是第一步让芯片在现代数据中心操作系统上顺畅地跑起来才是真正能被规模化使用的起点。开源协同解决的不是单一硬件问题而是一整条“芯片-内核-容器-调度-应用”的适配链路。1.2 红帽在AI基础设施生态里的“隐藏身位”很多同学对红帽的印象还停留在“企业Linux发行版”。确实红帽在企业级Linux市场的地位没什么争议但它在AI基础设施生态里的价值很多人没有细看。红帽系操作系统在数据中心里有一个特殊身份大量企业自建AI平台跑在RHEL系的系统上OpenShift作为企业级K8s发行版天然承载了很多内部GPU集群的管理工作。更关键的是Red Hat Enterprise Linux和OpenShift对硬件生态的认证机制非常严格涉及内核兼容性、驱动稳定性、容器运行时兼容性等等。一个加速卡如果拿到红帽的生态认证相当于拿到了大规模企业级部署的“通行证”。这个价值对于沐曦来说非常实际。沐曦的产品要进入企业客户的机房客户的第一句话往往是“你的卡在我们的操作系统上能不能跑有没有官方支持”。有了红帽的适配和认证这一关的信任成本会大幅降低。这比单纯在社区发几个开源仓库要硬得多。另外红帽这几年在AI开源社区里的动作我一直有跟。它在OpenShift AI、数据处理流水线、模型服务化这块投入不小底层跑的就是K8s原生生态。沐曦的加速卡如果能跟OpenShift AI这个栈打通等于直接对接上了企业AI平台的主流入口。所以这两个厂商的合作一个补的是“芯片底层的OS适配”一个补的是“能跑AI负载的容器与调度平台”。MXAIE方案在这里面扮演的角色就是把这原本分散的碎片拼接成一条完整的通路。2. MXAIE方案的技术拆解它到底在解决哪几层问题2.1 驱动栈与内核适配最底层、最不能出错的一环驱动是加速卡和操作系统之间的第一道桥。这个环节最麻烦的地方在于内核版本一变驱动模块就得跟着验证和调整否则轻则性能异常重则直接加载失败。我过去遇到过无数次类似场景一台新服务器内核是某个特定小版本结果驱动装不上一查是内核API变了需要打补丁或者换内核。这类问题在没有OS厂商深度参与的情况下全靠芯片厂商自己去测试适配工作量大得惊人而且往往滞后于系统更新节奏。MXAIE方案里驱动层的工作应该不是简单做个编译兼容就完事。它至少涉及三个维度一是系统发行版的内核特性适配。RHEL系列有自己的一套内核配置选项和安全模块策略驱动需要符合这些约束才能保证在标准内核下稳定加载、稳定运行。二是内核模块签名与安全启动链路的打通。企业环境里很多启用了Secure Boot驱动模块没有正规签名启动阶段就会被拦下。这个事单独靠芯片厂商去对接效率很低但OS厂商做起来很清楚整个签名验证体系怎么走。三是虚拟化与容器环境下的设备访问模型适配。容器里要能用GPU底层靠的是设备文件、cgroup设备控制、以及容器运行时对设备的注入机制。驱动栈如果不按这个模型来设计容器方案就绕不过去。这个层面上我不觉得MXAIE是某种“新的驱动框架”它更像是把一个本来就该做扎实的底层工程以协同方式推到了正确的位置。2.2 容器化AI负载让训练和推理“搬得上、跑得动”现在的AI应用基本默认容器化部署。训练任务用镜像、推理服务用镜像、连开发环境都恨不得用镜像解决。加速卡如果不能很好地融入容器生态在现有基础设施里根本没法用。MXAIE的容器适配层处理的事情从我的经验来看应该排在下面这几件设备注入方式要跟K8s的设备插件机制对齐。K8s里要用GPU标准路径是Extended Resource和Device Plugin。芯片厂商需要提供自己的Device Plugin实现上报设备数量、健康状态并把设备正确地分配进Pod。很多自研加速卡折在第一步就是Device Plugin写得不够健壮一遇到节点重启或者GPU故障就出现资源泄漏。容器运行时层面要支持GPU设备的直接挂载。无论是containerd还是CRI-O都需要有对应的runtime钩子来处理设备访问。这个思路对标的是NVIDIA Container Toolkit那一套方案设备在宿主机上准备好容器启动时通过钩子注入进去。镜像仓库里需要有可用的基础镜像。这一点容易被忽略实际部署时非常关键。用户拿到加速卡想跑个训练脚本结果镜像里连驱动运行库都没有还得自己手动拷贝进去这种体验是非常劝退的。提供打包好运行库的镜像让用户直接拉取并能跑起来是方案能不能被快速试用的关键。2.3 从单机到集群调度器怎么“看见”国产加速卡单机驱动和容器跑通是第一步真正考验方案的是集群调度。企业里的AI平台跑在K8s上调度器必须得知道每张卡的状态、显存、利用率才能把任务合理分配到不同节点上。这一层的设计难点在于国产加速卡的监控指标和调度语义必须对齐K8s的扩展资源机制。卡有没有故障显存还够不够算力有没有被占满这些信息要通过节点状态上报给调度器然后调度器基于这些信息做最优分配。如果指标上报不及时、不准确轻则调度不均重则把任务打到一个已经没有显存的卡上直接失败。MXAIE在这个层面如果做扎实会让用户感觉“这卡和主流GPU卡在平台接入上没什么两样”。我理解这就是这个方案想达到的效果让基础设施团队在接入国产卡时不需要为每张卡单独写一份调度适配。2.4 性能分析与调优光能跑不算数跑得快才算数最后这一层是很多人都忽略的我反而认为它是决定方案能否被生产环境接受的分水岭。能跑通只是及格线能不能把硬件性能充分释放出来才是硬功夫。AI加速卡的性能发挥很大程度上取决于算子库和通信库跟硬件架构的对齐程度。卷积、矩阵乘、归一化、注意力机制这些计算模式如果实现得不够精细算力转化率会很难看。MXAIE方案如果要达到高性能就必须在算子层做深度优化而不是简单地把通用算法套上去。多卡训练时卡间通信是绕不开的。不管是NVLink也好、自研高速互联也好通信库的实现质量和拓扑感知能力直接决定多卡扩展的效率。我们在实际项目里做过多卡训练性能评测同样一批卡通信库优化得好不好吞吐量能差出20%到30%。这真不是小事。这些层面组合起来MXAIE方案才算是一个完整的AI基础设施方案而不是简单的“驱动能装上、跑个demo能出结果”的水平。3. 从一个部署者的角度看MXAIE方案的实操价值3.1 环境准备拿到一台装好MXAIE的机器先看什么假设你是一个平台运维工程师你的老板某天跟你说机房里来了一批搭载了沐曦加速卡的服务器还预装了MXAIE方案让你把环境确认一遍准备接入现有K8s集群。你该怎么下手我先给你一个清单按优先级从高到低第一确认内核版本跟方案要求的版本范围是否匹配。这个是最容易出问题的地方。如果内核太新或者太旧驱动有可能需要重新编译甚至会出现不兼容。MXAIE方案如果能把这个范围写清楚能少走很多弯路。第二检查设备节点是否被正确识别。在系统里查一下设备文件是否正常创建然后跑一下硬件检测工具看看能不能读到卡的基本信息。如果连设备都识别不到后面所有事情都无从谈起。第三验证容器运行时是否配置正确。看一下容器运行时配置文件里有没有添加设备注入相关配置然后跑一个最简单的测试容器在容器里看能不能访问到GPU设备节点。这一步能快速验证容器链路通不通。第四测试GPU节点能否被K8s识别为可调度资源。在一个临时节点上启动Device Plugin然后看节点状态里有没有出现对应的扩展资源数量跟物理卡数是否一致。这四步走通说明这个节点的底子是通的可以继续往上层走。3.2 部署一个训练任务的完整路径环境通了之后我们来看一个具体的部署案例。假设你手上有一个PyTorch的训练脚本想要在MXAIE方案的节点上跑起来。第一步是准备镜像。建议直接使用方案提供的基础镜像在此基础上把训练代码和依赖装进去。自己从零构建镜像不是不行但需要确保底层运行库版本一致不然可能跑着跑着出现运行库不匹配的问题。第二步是写资源请求。在K8s里跑训练任务只需要在Pod Spec中声明需要多少个GPU资源。以单卡训练为例配置的资源声明大概长这样resources: limits: example.com/gpu: 1注意资源名称里的域名前缀要根据方案实际的Device Plugin定义来填不要想当然。第三步是启动任务。训练脚本本身不需要改动太多只要它能够通过常规的GPU调用接口访问到设备即可。这里要特别留意是否有多卡并行支持的设置如果要跑多卡训练还需要设置好对应的分布式环境变量确保各卡之间的通信正常。第四步是观察监控指标。跑起来之后去监控面板里看GPU的利用率和显存占用确认任务确实把卡跑起来了而不是空转状态。这一步能发现很多隐性问题比如多卡任务里某张卡没被分配任务这很常见。整个过程走下来一个对MXAIE不熟悉的人可能半天时间能搞定熟悉的话基本半小时以内就能把第一个训练任务跑起来。3.3 性能验证怎么确认MXAIE真的把性能发挥出来了部署完第一件事就是跑性能基线。不要上来就跑大模型先用标准的基准测试工具摸一下底。我习惯分三层去看第一层看P2P带宽和卡间通信速率。多卡互联是集群性能的关键如果这里速度不对后面跑分布式训练一定会出问题。第二层看典型算子矩阵乘、卷积的实现性能。用独立的算子基准工具跑一下对比理论算力和实际算力的转化率大致能判断优化水平。第三层看一个端到端的小模型训练吞吐量。选一个结构不复杂的模型固定batch size和迭代步数统计单位时间处理的样本数。这三个数据出来基本能判断出这台机器在MXAIE方案下的性能表现大约处于什么水平。如果你的工作负载有自己代表性模型那就在此基础上直接跑自己的模型拿到的数据才最有说服力。我在实际项目中测过不少加速卡一个很重要的经验是不要只看跑分数值要看稳定性和长尾延迟。短时间跑一次性能不错说明不了什么连续跑十几个小时之后的性能表现才是生产环境真正关心的。4. 实战中一定会遇到的几个坑4.1 驱动安装与内核升级的冲突这是我在多种硬件平台上都踩过的坑MXAIE方案大概率也会有人遇到。驱动跟内核的绑定是强关系如果某次安全更新把内核升级了已经装好的GPU驱动模块可能就失效了。遇到这种情况切忌手忙脚乱直接重装驱动。先确认当前系统内核版本、原来的驱动版本以及两者之间的兼容关系。很多方案已经在新版本里做了更好的兼容处理只要恢复配置后重新构建驱动模块就行。更稳妥的做法是在升级内核前先锁定当前内核版本确认业务窗口期后再执行升级并且准备回滚方案。另外对于生产环境建议跟踪方案官方提供的兼容性矩阵。内核版本在支持列表里就能少很多心惊肉跳的时刻。4.2 容器环境下的权限和安全问题在Kubernetes里跑GPU任务经常出现的权限问题包括设备文件无法访问、特权模式冲突、容器内权限不足导致无法初始化GPU等。我碰到最多的情况是用户用了一些第三方的安全策略把容器内的设备访问权限限制得太死导致程序启动时无法正确访问裸设备。这种问题排查起来比较费时间因为报错信息往往比较模糊。建议的做法是在排查时先用一个特权容器做最小化验证排除权限因素的干扰确认设备本身没问题后再逐步收紧权限策略。同时提前在方案文档和运维手册里写清楚需要放开的设备访问接口和系统调用这样后续对接安全团队时能省掉大量来回沟通。4.3 调度层面的资源碎片与卡数分配不当K8s调度GPU会遇到一个经典问题单节点卡数有限资源申请粒度是整卡很容易产生资源碎片。比如一个节点有8张卡跑一个需要2卡的任务再排一个需要3卡的任务节点还剩3张卡但如果下一个任务是需要4卡的就只能排队等待。MXAIE方案如果支持单卡资源细分的能力会大大缓解这个问题。即使当前不支持运维上也有协调手段比如把大任务和大任务放在同一个节点小任务和小任务放在同一个节点减少因为分配不均导致的浪费。还有一个细节是核数上限和显存大小的组合。两张卡可能显存一样大但算力规格不同调度时如果不加区分把大任务调到小算力卡上性能会很受影响。这些标签信息在设备插件注册时就应该规划好而不是等到上线再临时补。4.4 性能瓶颈的定位思路如果训练任务跑起来性能不达预期从我的排查习惯来说第一先看CPU侧是否产生了瓶颈。数据传输频繁的场景下CPU占用高了GPU就会等数据面板上看起来GPU利用率不高但问题根源其实在CPU。再看数据加载路径数据读盘的吞吐量是否充足数据预处理是否占用了过多CPU时间。这些都是常见的隐形瓶颈。如果CPU和数据都没有问题再看卡间通信和节点间网络通信特别在分布式训练场景里通信拓扑的影响非常大。找一台单卡性能正常的机器做对照能快速判断瓶颈是在单卡能力上还是在集群通信上。实际排查这类问题思路比工具重要先分层定位再定向优化不要一上来就改一堆参数。5. 延伸思考这套方案对AI基础设施生态的长期影响5.1 开源协同模式正在成为国产算力落地的最短路径过去国产加速卡落地的阻碍很大程度上不是芯片性能而是生态适配的碎片化。每一家做一套驱动每家企业用户自己摸索适配成本极高效果还不一定好。而像MXAIE这样由芯片原厂和操作系统原厂联手来做整链适配则让基础设施团队可以直接拿到一条已经跑通的路径。这种模式在我看来会越来越普遍。原因是AI基础设施的复杂度太高单一厂商很难包打天下。芯片原厂懂硬件OS原厂懂系统容器和调度领域还有专业团队大家各自在擅长层面做深再以开源方式协同起来效率和稳定性都远高于单打独斗。从长期来看国产加速卡能不能在企业级市场大规模铺开拼的不只是算力跑分更是生态的完整度和社区的活跃度。开源协同正是把这两点绑在一起做。5.2 对开发者意味着什么对普通AI应用开发者来说可能不需要了解MXAIE的每个技术细节但有一个感受会越来越明显国产加速卡的开发体验正在向成熟平台靠拢。过去写代码要考虑卡型号分支不同卡之间要用不同的算子库和通信库代码里到处是条件编译。现在通过标准容器和统一资源接入机制大部分应用只用写一套代码就能跑在不同硬件上。这个变化对提升整个行业的生产效率非常明显。我个人的习惯是在项目初期就选好平台兼容的方案而不是等项目做大了再回头适配。现在有了更多可选路径方案选型时就可以更从容不用被单一平台绑定。5.3 一点个人观察我亲眼见过很多硬件在测试环境跑得很好一上生产就翻车。根本原因往往不是硬件本身而是周边配套没跟上驱动适配不全、调度器对接不稳、运维排查工具缺失。MXAIE这类方案真正的价值在于它把“周边配套”这个软肋补齐了。对于正在考虑引入国产加速卡的朋友我的建议是别只看单卡的跑分参数花更多精力去了解方案层面的完整性。你拿到的不只是一块算力卡而是一整套能融入现有平台、能被K8s调度、能进容器跑任务、出了问题能排查的完整服务。基于开源协同的模式如果持续做深国产AI算力生态的未来会少很多“能不能用”的疑虑更多人会把注意力聚焦在“怎么用更好”。这种重心转移本身就是生态走向成熟的信号。另外说个实操层面的小建议如果你是平台负责人决定试用MXAIE可以先在非生产节点上完整跑一遍“驱动安装—容器启动—调度接入—性能摸底—监控对接”的全流程把过程中所有异常记录在一个checklist里。这样等真正要上线时很多坑已经被提前填平了。踩过坑之后你会明白一套方案的可落地性从来不体现在宣传彩页上而体现在这条流程走下来到底要花多久、踩多少雷。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑