news 2026/6/4 15:35:55

国产芯片是否有类似 NVIDIA TMA 的能力:华为、摩尔线程、沐曦对比

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
国产芯片是否有类似 NVIDIA TMA 的能力:华为、摩尔线程、沐曦对比

国产芯片是否有类似 NVIDIA TMA 的能力:华为、摩尔线程、沐曦对比

0. 总结结论

严格说:

国产芯片一般不叫 TMA; NVIDIA Hopper 的 TMA 是一个特定硬件/编程模型; 国产芯片更多是用自己的名字和体系实现类似“异步搬运 + 片上缓存 + 计算流水”的能力。

更准确地说:

华为昇腾: 有类似目的的 DMA / MTE / DataCopy 能力,但不是 NVIDIA TMA 的一比一等价物。 摩尔线程: 公开资料里有较明确的 TMA-like 能力,叫 TME / Tensor Memory Extension。 沐曦: 公开资料里没有看到明确的 TMA / TME 等价物; 但有 CUDA-like 编程模型、shared memory、stream、async memcpy、graph 等能力。

一句话:

华为有 MTE/DataCopy,摩尔线程有 TME,沐曦目前公开资料里没看到明确的 TMA-like 专用 tensor memory engine。


1. 先定义:NVIDIA Hopper TMA 是什么?

TMA 全称是:

Tensor Memory Accelerator

它是 NVIDIA Hopper 架构中的专用张量搬运硬件。

它的核心作用是:

把 global memory / HBM 中的大块 tensor tile 高效、异步地搬到 shared memory

以前在 A100/A800 这种 Ampere 上,global memory 到 shared memory 的搬运主要靠:

cp.async

也就是很多 CUDA 线程自己参与地址计算和数据搬运。

Hopper TMA 更像一个专用 DMA:

以前: 很多线程自己算地址、自己搬 tile TMA: 一个线程提交 tensor copy descriptor 硬件负责多维 tensor 地址计算和搬运 其他线程继续计算

它解决的问题是:

Tensor Core 很快,但数据喂不上去。

所以 TMA 的核心价值是:

让数据搬运和矩阵计算更好地重叠。

在 FlashAttention-3 里,TMA 很关键,因为 attention 要不断搬:

Q tile K tile V tile

如果 Tensor Core 在等 K/V 从 HBM 进入 shared memory,算力就浪费了。TMA 就是为了减少这种等待。


2. 华为昇腾有没有类似 TMA 的能力?

结论:

有类似目的的能力,但不叫 TMA。 华为昇腾走的是 MTE / DMA / DataCopy / Local Memory / Cube 的路线。

最准确的类比是:

NVIDIA Hopper: HBM → TMA → Shared Memory → WGMMA / Tensor Core 华为昇腾: Global Memory → MTE2 / DataCopy → Local Memory / UB / L0 → Cube / Vector 计算后: Local Memory / UB → MTE3 / DataCopy → Global Memory

华为昇腾 AI Core 中通常包含:

Cube 单元 :矩阵计算 Vector 单元 :向量计算 Scalar 单元 :标量控制与调度 Local Memory :片上存储 DMA / MTE 单元 :数据搬运

其中:

MTE2:负责数据搬入 MTE3:负责数据搬出 DataCopy:Ascend C 中常用的数据搬运接口

所以从功能定位上看:

能力NVIDIA Hopper华为昇腾
数据搬运硬件TMADMA / MTE2 / MTE3
片上缓存Shared MemoryLocal Memory / UB / L0
编程接口CUDA / PTX / CuTe / CUTLASSAscend C / DataCopy
搬运和计算重叠TMA + async barrier + WGMMAMTE + Cube / Vector + Queue / Pipe / Double Buffer
是否等价Hopper 特定机制不是一比一等价,但思想类似

昇腾的优化思想和 NVIDIA 很像:

1. 把大矩阵 / tensor 切成 tile 2. 从 Global Memory 搬到 Local Memory 3. 在 Cube / Vector 上计算 4. 同时搬下一块数据 5. 用 double buffer / pipeline 隐藏搬运延迟

但它的硬件抽象和 CUDA 完全不同。

华为昇腾和 NVIDIA TMA 的关键差异

1. NVIDIA TMA 是 Hopper GPU 暴露出来的特定硬件/编程模型; 2. 昇腾是 NPU / DSA 架构,叫 MTE / DMA,不叫 TMA; 3. NVIDIA TMA 和 WGMMA 是 CUDA 生态里强绑定的异步流水; 4. 昇腾是 DataCopy + Pipe / Queue + Cube / Vector / MTE 的流水; 5. 两者优化思想类似,但 kernel 写法、内存层级、调度模型完全不同。

所以如果你问:

华为有没有 Hopper TMA + WGMMA + FlashAttention-3 那种路径?

答案是:

没有一比一对应。

但如果你问:

华为有没有类似“专门搬 tensor tile,并和计算流水重叠”的能力?

答案是:

有。

只是名字和编程方式不同。

对推理引擎/算子优化来说,应该这样理解:

在 NVIDIA H100 上: 围绕 TMA / WGMMA 写 tile pipeline。 在华为昇腾上: 围绕 DataCopy / MTE / Cube / Vector / Local Memory 写 tile pipeline。

本质思想一样:

分块 搬运 计算 double buffer 搬运和计算重叠

硬件抽象不同。


3. 摩尔线程有没有类似 TMA 的能力?

结论:

有,公开资料里叫 TME / Tensor Memory Extension。

摩尔线程的公开资料中,TileLang-MUSA 对底层能力的描述比较接近 NVIDIA Hopper 的编程范式。

可以理解成:

NVIDIA Hopper: TMA + WGMMA + async barrier 摩尔线程 Pinghu: TME + SQMMA / TCE + async barrier

其中:

TME = Tensor Memory Extension TCE = Tensor Core Engine SQMMA = 类似矩阵乘加速指令路径

在 TileLang-MUSA 的抽象中:

T.copy → TME 或 global ↔ shared 专用搬运指令 T.gemm → TCE / SQMMA mbarrier → async barrier

这说明摩尔线程至少在公开 DSL / 编译器层面,已经暴露了类似 Hopper TMA 的抽象:

global memory → shared memory 的专用搬运 异步流水 barrier 同步 tensor core GEMM

所以摩尔线程可以说:

有 TMA-like 的 TME。

但要保守一点:

TME 不等于 NVIDIA TMA 的一比一复制。

可能差别包括:

1. 是否支持 NVIDIA TMA 那种 1D–5D tensor descriptor; 2. 是否支持 cluster multicast; 3. 是否支持 shared memory swizzle descriptor; 4. 是否有 CUTLASS / CuTe 那样成熟的调度生态; 5. profiler / compiler / autotune 是否足够成熟; 6. FlashAttention / MoE / GEMM 生态是否完善。

所以对摩尔线程更准确的评价是:

摩尔线程公开暴露了 TME,方向上最接近 NVIDIA TMA; 它已经进入“高性能 tile pipeline + 异步搬运 + tensor core”的路线。

这对做推理引擎很重要。

因为它意味着摩尔线程不只是简单 CUDA API 兼容,而是开始暴露更底层的高性能 kernel 编程能力:

TileLang-MUSA ↓ T.copy → TME / global↔shared 专用搬运 T.gemm → SQMMA / TCE mbarrier → ASYNC barrier ↓ GEMM / FlashAttention / MoE kernel

这和 Hopper 的优化范式很接近:

分块 tile global → shared 异步搬运 shared → tensor core 计算 计算和搬运 overlap

4. 沐曦有没有类似 TMA 的能力?

结论:

目前公开资料里没有看到明确的 TMA / TME 等价物。

沐曦的 MXMACA / MetaX 路线更像:

CUDA-like 编程模型 SIMT shared memory / Workgroup Shared Memory stream async memcpy graph PyTorch 适配 算子库

这些能力说明沐曦可以做 GPU kernel 编程,也可以做 shared memory tiling。

例如它有:

线程 / wave / workgroup 全局内存 共享存储 / WSM 寄存器 stream 并发 异步 memcpy graph 降低 launch 开销

但这些更多是:

CUDA-like runtime async copy stream overlap graph launch reduction workgroup shared memory

还不能直接等同于:

global memory ↔ shared memory 的专用 TMA/TME 指令 单线程发起大块 tensor copy descriptor-based tensor copy async barrier + tensor memory engine

所以对沐曦我会保守判断:

有 shared memory; 有异步运行时拷贝; 有 stream / graph; 有 CUDA-like 编程模型; 但公开资料里暂时没看到类似 NVIDIA TMA / 摩尔线程 TME 的明确暴露。

当然,这不代表沐曦硬件内部完全没有类似机制。

更准确地说:

可能内部有类似的数据搬运优化机制, 但公开编程模型里没有像 NVIDIA TMA 或摩尔线程 TME 那样清楚暴露出来。

对做推理引擎的人来说,这意味着:

沐曦更适合先按 CUDA-like 迁移路线做; 摩尔线程更适合研究更底层的 tile pipeline / TME / tensor core kernel。

5. 横向对比

平台是否叫 TMA是否有类似能力公开程度判断
NVIDIA H100 / H800是,TMA最完整标准参照
NVIDIA A100 / A800有 cp.async,但无 TMA明确Ampere 路线
华为昇腾有 MTE / DataCopy / DMA较明确NPU 路线,思想类似
摩尔线程 Pinghu否,叫 TME有 TMA-like 能力较明确国产 GPGPU 中最像
沐曦 MetaX / MACA未看到有 shared memory / async runtime,但 TMA-like 不明确中等不能确认

6. 对推理引擎开发的意义

如果你的目标是做国产芯片推理引擎/算子优化,可以这样分路线。

6.1 NVIDIA H100 / H800

核心范式:

TMA + WGMMA + FP8

适合:

FlashAttention-3 FP8 GEMM 高性能 MoE 大模型训练/推理

优化关键词:

CuTe CUTLASS 3 TMA descriptor WGMMA async pipeline warpgroup

6.2 NVIDIA A800 / A100

核心范式:

cp.async + mma.sync + shared memory tiling

适合:

FlashAttention-2 BF16 / FP16 GEMM cuBLASLt CUTLASS Ampere kernel decode 优化 MoE grouped GEMM

优化关键词:

large GEMM W1/W3 concat CUDA Graph persistent kernel fused dequant GEMV grouped GEMM all_reduce overlap

6.3 华为昇腾

核心范式:

DataCopy / MTE + Cube / Vector + Local Memory + double buffer

适合:

Ascend C 自定义算子 CANN 算子开发 矩阵乘 / attention / norm / activation 优化 国产化机器人/工业部署

优化关键词:

Global Memory Local Memory UB / L0 MTE2 / MTE3 DataCopy Cube Vector Pipe Queue Double Buffer

它不是 TMA 路线,但思想一致:

把数据提前搬到片上; 计算当前 tile; 同时搬下一 tile; 用 pipeline 隐藏访存。

6.4 摩尔线程

核心范式:

TME + TCE / SQMMA + async barrier

适合:

国产 GPGPU 推理引擎 GEMM FlashAttention MoE TileLang-MUSA kernel

优化关键词:

TileLang-MUSA T.copy T.gemm TME TCE SQMMA mbarrier async pipeline

摩尔线程对你这种做推理引擎的人比较有价值,因为它暴露出接近 Hopper 的底层 tile pipeline 抽象。


6.5 沐曦

核心范式:

CUDA-like / SIMT / shared memory / stream / graph

适合:

CUDA 代码迁移 PyTorch 适配 算子库适配 普通 GPU kernel 优化

优化关键词:

MXMACA mcPytorch stream async memcpy graph shared memory / WSM SIMT wave

目前不能确认它有公开的 TMA-like 指令抽象。

所以沐曦路线更像:

先迁移 CUDA-like 代码; 再看底层编译器 / ISA / kernel 文档是否暴露更强的数据搬运机制。

7. 最终判断

如果只问:

国内芯片有没有 TMA?

严格答案:

没有 NVIDIA Hopper TMA 这个同名能力。

如果问:

国内芯片有没有类似 TMA 的思想和能力?

答案:

有。

具体是:

华为昇腾: MTE / DMA / DataCopy,NPU 路线,思想类似。 摩尔线程: TME / Tensor Memory Extension,公开上最接近 NVIDIA TMA。 沐曦: 有 CUDA-like shared memory 和异步 runtime 能力, 但暂时没看到公开的 TMA / TME 等价能力。

最简洁结论:

华为有类似搬运单元,但叫 MTE/DataCopy;摩尔线程有公开的 TME,最像国产版 TMA;沐曦目前公开资料里没有看到明确的 TMA-like 能力。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/4 15:32:59

【BUUCTF】【WEB】[HCTF 2018]WarmUp

考点&#xff1a;PHP 文件包含漏洞、白名单绕过(问号截断)、目录穿越、mb_strpos/mb_substr 函数打开题目&#xff0c;发现有个表情包。右键检查&#xff0c;能看到有个source.php&#xff1a;打开source.php发现是一段代码&#xff1a;分析一下&#xff1a;<?php// 高亮显…

作者头像 李华
网站建设 2026/6/4 15:31:42

3步终极指南:用椰羊cocogoat工具箱告别原神圣遗物手动管理烦恼

3步终极指南&#xff1a;用椰羊cocogoat工具箱告别原神圣遗物手动管理烦恼 【免费下载链接】cocogoat-client A toolbox for Genshin Impact to export artifacts automatically. 支持圣遗物全自动导出的原神工具箱&#xff0c;保证每一行代码都是熬夜加班打造。 项目地址: h…

作者头像 李华
网站建设 2026/6/4 15:29:39

图神经网络在乌尔都文学作者识别中的应用

1. 项目概述&#xff1a;当图神经网络遇见乌尔都文学在数字人文研究的实验室里&#xff0c;我正面对着一摞泛黄的乌尔都语小说扫描件。这些承载着南亚次大陆文化记忆的文本&#xff0c;正经历着从纸质到数字、从线性叙事到网络结构的奇妙转变。传统作者识别方法依赖于词汇统计和…

作者头像 李华
网站建设 2026/6/4 15:28:01

小白必看|OpenClaw Windows 一键安装教程,告别依赖缺失难题

✨ OpenClaw 一键安装包&#xff5c;一键部署&#xff0c;告别复杂环境配置 ✨ 适配系统&#xff1a;Windows10/11 64 位 当前版本&#xff1a;v2.7.8 核心优势&#xff1a;全程可视化操作&#xff0c;无需命令行、无需手动配置 Python/Node.js&#xff0c;内置所有运行依赖&a…

作者头像 李华
网站建设 2026/6/4 15:26:37

利用Agent 基础、ReAct、planning、memory做tool-based agent,利用 JSON Schema做structured output extraction从 从文本提取

一、整体系统架构┌──────────────────┐│ User │└────────┬─────────┘│▼┌─────────────────┐│ Agent ││ ReAct Planner │└────────┬────────┘│┌───────…

作者头像 李华