1. 前言
CUDA和SAIL分别代表了AI芯片软件生态的两个关键节点:一个是事实上的行业标准,另一个则是向这个标准发起挑战的开放力量infoqpconline。可以把它们想象成电脑时代的操作系统:CUDA是已经普及的Windows,而SAIL则是试图建立一个开源、开放的替代方案。要理解SAIL的意义,确实需要先看清CUDA是如何成为"行业标准"的,两者的故事紧密相连。
本文将以CUDA为基准坐标,逐一梳理SAIL(阿里平头哥)、CANN(华为昇腾)、MXMACA(沐曦MetaX)三大国产异构计算软件栈的技术架构、发展历程与生态现状,最后给出综合评价与行业方向判断。
2. CUDA
2.1 诞生与历史背景
2006年,GTC(GPU Technology Conference)上,NVIDIA首次发布CUDA(Compute Unified Device Architecture,统一计算设备架构),这是一个划时代的举动。此前,GPU只被当作图形渲染的专用处理器,程序员无法直接调用其计算能力。CUDA的推出将GPU变成了通用并行计算设备(GPGPU),开启了GPU加速计算的时代。
NVIDIA创始人兼CEO黄仁勋在2006年做出了一个被外界质疑但极具远见的决策:在利润丰厚的GPU硬件之外,投入大量资源构建CUDA软件生态。NVIDIA用超过10年时间、数十亿美元投入,将CUDA从一个"可用"的工具逐步打磨成"不可替代"的行业基础设施。
2.2 架构与编程模型
CUDA的核心编程模型可以概括为三个层次:
- 线程层次:Grid(网格)→ Block(块)→ Thread(线程)。每个Block包含多个Thread,Block组织成Grid。这种层次结构让程序员能以直观的方式映射并行计算任务。
- SIMT并行模式:SIMT(Single Instruction, Multiple Threads)是CUDA的并行执行方式——一个Warp(32个线程)执行同一指令,但每个线程有独立的数据和程序计数器。这是CUDA区别于传统SIMD的关键创新。
- 存储器层次:全局内存(Global Memory)、共享内存(Shared Memory)、纹理内存(Texture Memory)、常量内存(Constant Memory)、寄存器(Registers)——多层次存储结构让程序员可以在吞吐量与延迟之间做精细权衡。
2.3 CUDA-X生态系统
CUDA不仅仅是一个编程模型,它是一个完整的加速计算平台——CUDA-X。截至近年,CUDA-X集成了400多个加速库和云API工具,覆盖:
- cuBLAS / cuSOLVER:线性代数与求解器库
- cuDNN:深度学习神经网络加速库(深度学习的事实标准)
- NCCL:多GPU/多节点高性能通信库
- cuFFT / cuSPARSE:快速傅里叶变换与稀疏矩阵运算
- NVIDIA TensorRT:推理优化引擎
- NVIDIA DALI:数据加载与增强加速
CUDA-X使得开发者可以针对特定场景调用高度优化的底层库,而无需从零编写。
2.4 CUDA的版本演进
| 版本 | 发布时间 | 关键特性 |
|---|---|---|
| CUDA 1.0 | 2007 | 首次发布,支持G80架构 |
| CUDA 2.0 | 2008 | 引入Texture Memory、Unified Memory初步概念 |
| CUDA 3.0 | 2010 | 支持64位系统、C++11初步支持 |
| CUDA 4.0 | 2012 | 引入Unified Memory、NPP库 |
| CUDA 5.0 | 2013 | 引入Dynamic Parallelism、cuDNN雏形 |
| CUDA 6.0 | 2014 | 引入Compute Preemption |
| CUDA 7.0 | 2015 | 引入cuDNN、Unified Memory完善 |
| CUDA 8.0 | 2017 | 支持Volta架构,Tensor Core首次引入 |
| CUDA 9.0 | 2017 | 引入nvcc编译优化、APEX库 |
| CUDA 10 | 2018 | 支持Turing架构 |
| CUDA 11 | 2020 | 支持Ampere架构,引入cooperative groups、CUDA Graphs |
| CUDA 12 | 2022 | 支持Hopper架构,引入Hopper Tensor Core、Sparse Optimization |
| CUDA 13 | 2026 | 扩展CUDA Tile支持至Ampere/Ada架构,持续优化GPU内核开发 |
2.5 CUDA的护城河
CUDA之所以成为行业标准,关键在于网络效应:
- 框架兼容性:PyTorch、TensorFlow、JAX等主流深度学习框架都以CUDA为第一优先支持对象。
- 开发者心智锁定:全球数百万开发者熟悉CUDA编程模型,迁移成本极高。
- 完整的工具链:nvprof、Nsight、nvtx等开发调试工具形成了闭环。
- 持续投入:NVIDIA每年在CUDA上的研发投入数十亿美元,迭代速度快于竞争对手。
3. SAIL
3.1 公司背景
SAIL是**阿里巴巴旗下平头哥半导体(T-Head)**推出的AI软件栈。平头哥成立于2018年,是阿里在芯片领域的核心布局,旗下拥有:
- 玄铁(Xuantie)系列:RISC-V处理器IP
- 含光(Hanguang)系列:AI推理芯片
- 倚天(Yitian)系列:ARM服务器CPU
- SAIL:AI计算软件栈(SDK)
3.2 SAIL的技术定位
SAIL是一个插件式AI软件栈(plug-in framework),设计目标是提供一套开放的AI计算基础设施,覆盖从芯片驱动、编译器、算子库到上层AI框架适配的全栈功能。
与CUDA不同,SAIL从诞生之初就定位为开源、开放的平台,试图打破CUDA的封闭生态。其核心设计理念包括:
- 硬件抽象层:将底层不同AI芯片的计算能力抽象为统一的编程接口
- 插件式架构:支持不同芯片架构通过插件方式接入SAIL框架
- AI框架兼容:目标是兼容PyTorch、TensorFlow等主流框架
3.3 SAIL的核心组件
基于平头哥开发者社区(developer.t-head.cn)的文档,SAIL SDK包含以下核心模块:
- 驱动层:面向AI加速芯片的底层驱动与运行时
- 编译与优化:AI算子编译与优化引擎
- 算子库:覆盖深度学习常见算子的高性能实现
- AI框架适配:对PyTorch/TensorFlow等框架的接口适配层
- 插件式扩展:支持新芯片架构通过插件方式接入
3.4 SAIL与CUDA的关系
SAIL的推出可以被视为对中国市场CUDA依赖的回应。在AI算力需求爆发式增长的背景下,CUDA虽然功能强大,但也带来了:
- 供应风险:美国出口管制限制了对高端NVIDIA芯片的供应
- 成本压力:NVIDIA GPU价格居高不下
- 生态锁定:开发者被CUDA生态深度绑定
SAIL通过开放、插件式的架构,试图在国产芯片生态中建立一个类似CUDA的"基础操作系统",但面向的是多元化、国产化的硬件基础。
4. CANN
4.1 公司背景
CANN(Compute Architecture for Neural Networks,神经网络计算架构)是华为针对AI场景推出的异构计算架构,是华为昇腾(Ascend)NPU生态的核心软件层。
华为在2019年发布了首款昇腾AI处理器(Ascend 910/310),并同步推出了CANN软件栈。CANN的角色类似于NVIDIA的CUDA——它是连接上层AI框架和底层AI芯片之间的"翻译官"和"优化器"。
4.2 CANN的架构设计
CANN是华为昇腾生态的承上启下关键层,具体架构如下:
- 向上:兼容主流AI框架(PyTorch、TensorFlow、MindSpore等),提供框架适配层
- 向下:服务昇腾AI处理器(Ascend 910、Ascend 310等),调用硬件加速能力
CANN的具体组成包括:
- 异构调度层(RT Runtime):负责任务调度、内存管理、执行控制
- 异构计算基座(AE,AI Engine):算子编译与优化引擎,将高层算子编译为昇腾NPU可执行的TBE(Tensor Boost Engine)代码
- 异构计算平台(TEE,Tensor Execution Engine):底层算子实现,包含大量已优化的AI算子内核
- 驱动层(Driver):昇腾NPU的硬件驱动与固件
4.3 CANN的版本演进
| 版本 | 关键特性 |
|---|---|
| CANN 1.x | 初步支持Ascend 910/310,基础算子库 |
| CANN 3.x | 增强算子库,优化编译流程 |
| CANN 5.x | 支持大模型场景,增强通信能力 |
| CANN 6.x | 进一步提升性能,优化大模型训练/推理 |
| CANN 8.x | 针对大模型持续优化,增强异构计算能力 |
4.4 CANN的生态建设
华为建设CANN生态的策略包括:
- 昇思MindSpore:华为自研的AI框架,与CANN深度绑定,实现最优性能
- 框架适配:同时支持PyTorch、TensorFlow等主流框架,降低迁移门槛
- 昇腾社区:提供开发者文档、算子开发教程、技术支持
- 开源学习中心:官方开源学习项目(cann-learning-hub),帮助开发者快速入门
4.5 CANN的市场地位
CANN是中国国产AI芯片软件栈中最成熟、生态最完善的一个。凭借华为在通信和AI领域的深厚积累,CANN已经:
- 在智算中心、超算中心大规模部署
- 支持大模型训练(如盘古系列大模型)
- 与主流AI框架深度适配
- 拥有活跃的开发者社区
5. MXMACA
5.1 公司背景
MXMACA(MetaX Accelerated Computing Architecture,沐曦加速计算架构)是沐曦集成电路(上海)股份有限公司开发的异构计算软件栈,为该公司自研的曦云C系列、曦思N系列等GPU提供软件支持。
沐曦成立于2020年,总部位于上海,是一家专注于高性能通用GPU(GPGPU)研发的企业级芯片公司。沐曦的产品线涵盖:
- 曦思N系列:智算推理GPU(N100、N260、N300)
- 曦云C系列:通用GPU(C500、C550、C500X、C588、C600)
- 曦彩G系列:图形处理GPU(G100)
- 曦索X系列:科学智能GPU(X206、X301、X302)
产品线覆盖了从AI训练、推理到图形渲染、科学计算的全场景需求。
5.2 MXMACA的技术定位
MXMACA对标的是NVIDIA CUDA,定位是全面兼容CUDA生态的异构计算软件栈。其核心设计目标是让开发者能够以极低的迁移成本,将已有基于CUDA的应用迁移到沐曦GPU平台上。
5.3 MXMACA的核心特性
根据百度百科及沐曦官方信息,MXMACA具备以下关键特性:
5.3.1 功能覆盖
MXMACA覆盖从底层到上层的完整软件栈:
- 驱动层:GPU硬件驱动与运行时
- 编译器:GPU内核编译与优化引擎
- 算子库:高性能AI算子实现
- 通信库:高性能多GPU/多节点通信
- 框架适配:对PyTorch等主流AI框架的支持
- 智能编译器优化:支持通信与计算重叠,提升整体效率
5.3.2 CUDA兼容性
MXMACA最大的卖点之一是生态兼容性:
- 截至2026年初,已支持超过6000个国际主流应用
- 支持超过1000个模型
- 覆盖训练、推理、科学计算等场景
- 兼容CUDA等主流生态
这意味着开发者可以相对平滑地将已有CUDA代码迁移到沐曦平台上,大幅降低采用门槛。
5.3.3 开源策略
MXMACA于2025年2月正式开源,截至2026年3月,其开源社区拥有超过30万注册开发者。开源策略使沐曦能够快速吸引开发者参与生态建设,形成正向循环。
5.3.4 版本演进
| 版本 | 发布时间 | 关键特性 |
|---|---|---|
| MXMACA 3.x | 2025年2月 | 开源发布,基础功能完成 |
| MXMACA 3.3.0.X | 2025年12月 | 完成PyTorch 2.8适配,覆盖2650个核心算子 |
5.3.5 生态合作
MXMACA的生态建设进展包括:
- Kernel-Smith:2026年4月,沐曦与上海人工智能实验室联合发布的GPU算子生成系统,在MXMACA后端完成了验证
- 小米适配:小米的MiMo-V2.5-Pro模型已完成在沐曦曦云C系列上的适配
- Gitee/GitHub社区:提供官方学习资源(mxmaca-courses)和开发者社区
5.4 MXMACA与CUDA的关系
与SAIL的"插件式开放"和CANN的"自有硬件绑定"不同,MXMACA走的是一条直接对标CUDA、追求生态兼容的路径:
- 编程模型:MXMACA的编程接口设计尽可能贴近CUDA,降低迁移成本
- 算子库:2650+核心算子的覆盖度,覆盖了绝大多数深度学习场景
- 开源生态:通过开源吸引社区贡献,快速扩展生态
6. 四大技术栈对比
6.1 总体对比
| 维度 | CUDA | SAIL | CANN | MXMACA |
|---|---|---|---|---|
| 所属公司 | NVIDIA | 阿里平头哥 | 华为 | 沐曦MetaX |
| 硬件平台 | NVIDIA GPU | 含光AI芯片 | 昇腾NPU | 曦云/曦思GPU |
| 对标对象 — | 自身即标准 | 开放AI基础设施 | 对标CUDA | 对标CUDA |
| 开源状态 | 部分开源 | 开放平台 | 部分开源 | 2025年2月开源 |
| 主要定位 | GPU通用计算 | AI专用软件栈 | AI专用计算 | 通用GPU计算 |
6.2 架构对比
| 维度 | CUDA | SAIL | CANN | MXMACA |
|---|---|---|---|---|
| 编程模型 | Grid-Block-Thread + SIMT | 插件式抽象 | 异构调度 + AE + TEE | CUDA兼容接口 |
| 编译器 | nvcc | 自定义 | TBE编译器 | 自研编译器 |
| 通信库 | NCCL | 内置 | 内置HCCL | 高性能通信库 |
| 算子库 | cuBLAS/cuDNN等400+ | 自定义算子库 | 大量内置算子 | 2650+核心算子 |
| 框架适配 | PyTorch/TensorFlow等 | PyTorch/TensorFlow | MindSpore/PyTorch等 | PyTorch等 |
6.3 生态成熟度
- CUDA:绝对的行业标准,生态最为成熟,全球数百万开发者
- CANN:国产最成熟,华为生态建设最为完善,智算中心大规模部署
- MXMACA:起步较晚但发展迅速,开源仅1年即达30万开发者,CUDA兼容性好
- SAIL:定位偏底层基础设施,生态相对小众,面向多元化国产硬件
6.4 适用场景
- CUDA:通用AI训练/推理、科研、高性能计算,全球最广泛适用
- CANN:华为昇腾硬件生态内的大模型训练/推理、智算中心
- MXMACA:需要CUDA兼容性的国产GPU替代方案,通用AI场景
- SAIL:阿里芯片生态内的AI计算、面向多硬件的开放平台
7. 行业方向与评价
7.1 国产替代的必然趋势
美国对高端GPU出口管制(特别是NVIDIA A100/H100的禁令)加速了中国市场对国产AI计算方案的需求。CUDA虽然强大,但在当前地缘政治背景下,依赖单一生态存在明显的供应链风险。SAIL、CANN、MXMACA三家分别从不同角度切入这一市场:
- CANN走的是"全栈自有"路线:自研芯片(昇腾)+ 自研软件栈(CANN)+ 自研框架(MindSpore),生态闭环最完整
- MXMACA走的是"CUDA兼容"路线:自研GPU硬件 + 高度兼容CUDA的软件栈,迁移成本最低
- SAIL走的是"开放平台"路线:插件式架构支持多元化国产硬件,面向未来生态建设
三种路径各有优劣,最终谁能在生态规模、开发者体验和性能表现上取得突破,将是决定性的因素。
7.2 生态建设的核心挑战
无论哪家技术栈,要打破CUDA的垄断地位都面临同样的核心挑战:
- 开发者规模:CUDA拥有全球数百万开发者,生态网络效应极强
- 算子覆盖度:深度学习场景千变万化,算子库的完整性和性能是关键
- 工具链完善度:调试、性能分析、 profiling 等开发工具直接影响开发者体验
- 持续迭代能力:AI技术快速演进,软件栈必须跟上硬件和算法的迭代速度
7.3 未来展望
从技术演进和行业趋势来看:
- 短期(1-2年):CANN将继续保持国产AI软件栈的领先地位,MXMACA凭借CUDA兼容性快速崛起,SAIL在阿里生态内稳步发展
- 中期(3-5年):国产GPU/NPU生态将形成2-3个主要玩家,CUDA的绝对垄断地位被打破,多生态并存的格局出现
- 长期(5年以上):可能出现类似"Linux时刻"的拐点——开源生态的成熟将使得国产方案在成本和自主可控上形成对CUDA的替代优势,同时AI算法本身的演进也可能催生新的编程范式
7.4 结语
CUDA用了近20年时间建立了AI计算的事实标准,而国产技术栈用不到10年的时间就走完了相似的起步历程。SAIL的开放理念、CANN的成熟生态、MXMACA的快速迭代,共同构成了中国AI算力自主化的"三驾马车"。
这条路注定不会平坦——生态建设从来不是一蹴而就的,需要硬件、软件、开发者、用户的共同努力。但方向是明确的:多元、开放、自主的AI计算生态,既符合中国的战略需求,也终将成为全球AI基础设施的重要一环。
参考资料:

2988

被折叠的 条评论
为什么被折叠?



