news 2026/10/6 8:04:55

GEMM 与 BLAS 全解:Tensor Core、CUDA、Transformer 的关系,各家 GPU 与框架的实现逻辑,以及投资机会

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GEMM 与 BLAS 全解:Tensor Core、CUDA、Transformer 的关系,各家 GPU 与框架的实现逻辑,以及投资机会

GEMM 与 BLAS 全解:Tensor Core、CUDA、Transformer 的关系,各家 GPU 与框架的实现逻辑,以及投资机会

声明:本文作为笔者个人备忘的文章,不喜勿喷。本文由AI辅助生成,技术参数与市场信息整理自公开资料,仅供参考。


一、一句话结论

GEMM(通用矩阵乘法)是大模型/深度学习绝对的"计算心脏",占 Transformer 计算的 90% 以上;BLAS 是矩阵/向量运算的标准库接口;而 Tensor Core 是 GPU 上为 GEMM 专门造的"乘法机房"。

整条链路是:Transformer 的每一层几乎都是 GEMM → 由框架(PyTorch 等)下发 → 调用 cuBLAS/cuDNN/CUTLASS → 在 CUDA 上驱动 Tensor Core 硬件。谁把 GEMM 跑得更快、软件生态更好,谁就赢得 AI 算力竞赛。


二、GEMM 与 BLAS 是什么?

2.1 BLAS(基础线性代数子程序库)

BLAS(Basic Linear Algebra Subroutines)是 1980 年代起逐步标准化的线性代数底层函数接口,分三个层级: -Level 1:向量-向量运算(如点积、axpy); -Level 2:矩阵-向量运算(GEMV); -Level 3:矩阵-矩阵运算(GEMM是最重要、最难优化的一个)。

价值:BLAS 让无数科学计算、机器学习程序不必重复造轮子,统一调用同一套接口,而具体实现由各厂商针对硬件优化。

2.2 GEMM(通用矩阵乘法)

C = α·A·B + β·C
  • A 是 M×K、B 是 K×N、C 是 M×N;
  • 计算量为2·M·N·K次浮点运算,是深度学习里"吃算力"最大的单一算子。

2.3 cuBLAS 与 CUTLASS(GPU 侧的两条路)

  • cuBLAS:NVIDIA 官方的BLAS 的 GPU 加速闭源库,开箱即用、高度调优,但像"黑盒"。
  • CUTLASS:NVIDIA开源的 C++ 模板库,把 GEMM 优化拆成可组合的"积木"(数据tile、线程配置、指令),可定制、可"庖丁解牛",也是 FlashAttention 等的底层抽象来源。

三、GEMM 与 Tensor Core 的关系

Tensor Core 是专为矩阵乘设计的硬件单元(NVIDIA 自 Volta 2017 起加入),一条指令即可完成一块小矩阵的乘累加(如 4×4、8×8、16×8 的 MMA),而普通 CUDA Core 只能做标量乘加。

  • GEMM 是 Tensor Core 的核心负载:Tensor Core 把 GEMM 的乘累加"一条条打包"并行。
  • 混合精度是关键:Tensor Core 用FP16/BF16/TF32/FP8 输入 × 运算 → FP32 累加,在损失可接受精度下大幅提速。
  • 性能差距巨大:H100 的 FP16 Tensor 稠密约 989 TFLOPS,而 FP32 CUDA Core 仅约 67 TFLOPS——专用硬件 + 低精度是 15 倍差距的来源。

一句话:GEMM 是"要算的活",Tensor Core 是"专干这活的机器"。


四、GEMM 在 GPU 中如何计算?

4.1 三层"分块"(Tiling)

沿 M/N/K 三个维度把大矩阵切成小 tile,每个线程块(Thread Block)算一块输出 tile,K 维迭代累加。复用远比算一次重要:数据尽量停留在高速存储(寄存器、共享内存),少去全局内存。

4.2 数据流

Global Memory → Tile 加载 → Shared Memory → 寄存器(Register Blocking) → Tensor Core(Warp 级 MMA)
  • Warp 级 MMA:32 个线程协同执行一条 Tensor Core 矩阵乘指令;
  • 优化手段:多级 tile、共享内存复用、避免 bank conflict、双缓冲/流水线、寄存器阻塞。

4.3 实测(Tesla T4,2048×2048)

方案时间GFLOPS
CPU~65885 ms~1.5
CUDA Naive~61 ms~308
Shared 优化~25 ms~475
cuBLAS~2.65 ms~2462

数据说明:同样的 GEMM,从朴素写法到 cuBLAS,性能差几个数量级——这就是为什么大模型必须"优化到极致"。


五、GEMM 与 CUDA 的关系

CUDA 是 NVIDIA 的编程模型/运行时。开发者用 GEMM 有三种层次: 1.直接调库:cublasGemmEx/ cuDNN——开箱即用、性能最好; 2.CUTLASS 手写:需要定制/算子融合时,用 C++ 模板写 Kernel 驱动 Tensor Core; 3.CUDA C++ 裸写:基础教学/特殊场景。

框架(PyTorch/TensorFlow)的 matmul 最终都落到 cuBLAS / cuDNN / CUTLASS。所以看懂 GEMM 就看懂了 AI 算力的软件底座。


六、GEMM 与 Transformer 的关系

Transformer 的每一层几乎都是矩阵乘: -QKV 投影:X·Wq / Wk / Wv(GEMM); -注意力分数:Q·Kᵀ(GEMM); -输出投影:Attention·Wo(GEMM); -前馈 MLP:GELU(X·W1)·W2(两个大 GEMM)。

GEMM 占 Transformer 总计算的 90% 以上。所以优化 GEMM(如 FlashAttention、更优的矩阵分块)直接决定大模型训练/推理速度;这也是各家 GPU 都拼命优化 GEMM 的原因。


七、每家 GPU 如何实现(矩阵乘法硬件 + 软件栈)

厂商硬件矩阵单元软件栈策略
NVIDIATensor CorecuBLAS / CUTLASS / cuDNN私有高性能 + 生态垄断
AMDCDNA Matrix CoreROCm / rocBLASHIP 兼容,对标 CUDA
IntelXMX 矩阵引擎oneMKL服务器/数据中心
华为昇腾Cube Unit(可重构 Cube:16 FP16 ALU + INT8 MAC)CANN(编译器把 GEMM 拆成 Load→Compute→Store 三阶段直接映射硬件流水线)全栈自研,DSA 高能效;batch=1 小矩阵延迟比 A100 低约 11%
寒武纪MLU Core + 稀疏加速器(自动跳过零值乘加,1024 步压到 320 步)NeuWare适配推荐/稀疏;CV 等均匀权重场景反而低效
摩尔线程全功能 GPU(MMX 矩阵单元)MUSA(API 兼容 CUDA,MUSIFY 一键迁移)+ TileLang-MUSA极致兼容,迁移成本最低
海光DCU(类 AMD)DTK(基于 ROCm,HIP 兼容 CUDA,算子覆盖超 99%)源码兼容,HPC+AI
壁仞云端 GPUBIRENSUPA(类 CUDA)vLLM/SGLang 快速适配
沐曦异构计算曦云/曦思通用+推理

两条路线: -GPGPU 通用路线(海光、摩尔、沐曦、AMD):兼容 CUDA 生态,迁移成本≈0; -DSA 专用路线(昇腾、寒武纪、昆仑芯、Google TPU):专为张量计算定制,牺牲通用换更高能效与自主可控。


八、常见框架如何实现

  • PyTorch:用户写torch.matmul/nn.Linear→ ATen 层 → 调用cuBLAS/cuDNN(NVIDIA)或各厂商库(昇腾走 CANN/Torch-Ascend、寒武纪走 NeuWare 一键迁移)。
  • TensorFlow/JAX:XLA 编译后调用 cuBLAS/CUTLASS。
  • 训练/推理框架:DeepSpeed、vLLM、SGLang 下层仍归到 GEMM 算子库。
  • TileLang(新变量):一个不归属任何硬件厂商的中立算子编译语言。芯片厂商只需提供编译后端与底层指令接口,上层算子生态即可复用——这让国产芯片有望第一次共享同一套算子生态,解决长期碎片化。DeepSeek 已开源昇腾全套组件,并适配寒武纪、海光、摩尔线程等。

九、为什么有这些?怎么想到的?解决什么问题?

  1. BLAS(为什么先有接口):数十年前科学计算重复"造矩阵库"。BLAS 用统一接口解决问题,让每个厂商只优化一次、人人共享——本质是工程标准化。
  2. GEMM 是核心:因为几乎所有线性代数与深度学习,都收敛到 GEMM。优化 GEMM = 优化一切。
  3. Tensor Core(为什么被想到):NVIDIA 发现 AI/ML 主负载就是矩阵乘,且能容忍精度损失。于是造专用硬件 + 开混合精度——用"精度换性能"解决"通用 CUDA Core 算 GEMM 不够快/不够省"。
  4. 各家定制(为什么有分歧):绕开 CUDA 生态垄断 + 自主可控 + 能效比,衍生出 GPGPU 兼容路线(迁移成本低)与 DSA 专用路线(能效高)——解决"生态 vs 能效 vs 自主"的三难。
  5. TileLang/算子生态(新问题):国产芯片软件栈碎片化,模型厂商适配每家都要重来。中立编译语言 + 共享算子生态,解决"国产算力从推理可用走向训练可用、降低迁移门槛"。

本质:AI 算力几乎全花在 GEMM 上,谁把 GEMM 的"硬件 + 软件 + 生态"做到最好,谁就占据算力主导。


十、投资视角:行业占比、投资情况与趋势

10.1 市场规模与占比

  • 中国 AI 服务器本土芯片采购占比已升至约 40%,训练芯片国产替代率超 30%。
  • 国产格局:华为昇腾一家独大(占半壁江山),寒武纪第二,海光、天数、摩尔线程、沐曦、燧原构成第二梯队。

10.2 主要玩家(2025 出货/业绩概览)

  • 华为昇腾:DSA 全栈自研,出货领先;
  • 摩尔线程:出货约 6-8 万张,2025 营收 15.05 亿元,全功能 GPU 龙头;
  • 沐曦:出货约 5-7 万张,2025 营收 16.44 亿元;
  • 燧原科技:S60 累计出货/订单超 10 万片;
  • 增速:天数智芯 +168.5%,寒武纪、摩尔、沐曦营收均翻倍以上。

10.3 三条技术路线(交付模式分化)

  • SRAM 推理专用(曲速科技):高能效低延迟,适合推理优先;
  • 全栈自研(华为昇腾):端到端可控、全场景,适合自主可控要求高;
  • 通用 GPU(寒武纪、海光、沐曦):生态兼容、迁移成本低,兼顾训练与推理。

10.4 趋势研判

  1. 算子生态走向统一:DeepSeek 开源昇腾组件 + TileLang/FlashAttention-Ascend 等,国产从"各自建生态"走向"共享算子层"。
  2. 训练可用性升级:国产芯片从"能跑推理"迈向"能训大模型"(V4 已在昇腾首发、多芯片适配)。
  3. AI 服务器国产化率稳步抬升:本土芯片采购占比 40% 且续升。
  4. 资本市场分化:摩尔/沐曦/天数等 2025 年陆续上市后板块回调,估值从"稀缺溢价"转向"业绩验证"。

十一、当前主要优劣

NVIDIA Tensor Core

  • 优:性能与生态(CUDA/cuBLAS/CUTLASS)碾压;混合精度成熟。
  • 劣:封闭、对华受限;专用性牺牲了通用性。

华为昇腾 Cube Unit

  • 优:DSA 高能效、全栈自主、可重构;小矩阵/推理场景优秀。
  • 劣:通用性弱,需适配定制 Torch/CANN,生态仍在追赶。

寒武纪 MLU

  • 优:稀疏计算加速,推荐系统等稀疏场景强;PyTorch 一键迁移。
  • 劣:CV 等均匀权重场景开启稀疏反而增加开销(实测延迟 +7%)。

国产 GPGPU(海光/摩尔/沐曦)

  • 优:生态兼容(HIP/MUSA)、迁移成本低、HPC+AI 兼顾。
  • 劣:单卡性能仍逊于英伟达;依赖"跟跑"其生态;资本市场估值高企后回调。

十二、小结

  • GEMM 是 AI 算力的心脏,BLAS 是它的标准接口,Tensor Core 是为它而生的专用硬件——三者 + CUDA/框架一起构成"从算法到硬件"的完整链路。
  • Transformer 几乎全是 GEMM,优化 GEMM(分块、共享内存、混合精度、算子融合)直接决定大模型速度。
  • 各家 GPU 分 GPGPU 兼容与 DSA 专用两路,分别解决"生态迁移"与"能效/自主"。
  • 投资主线:国产算力国产化(40% 且续升)、算子生态统一(TileLang/DeepSeek 开源)、训练可用性升级、AI 服务器/高速互联配套,叠加资本市场从"稀缺溢价"转向"业绩验证"。

附:参考来源(公开资料整理)

  • NVIDIA 技术博客(CUTLASS 3.x、Tensor Core 浮点仿真、CUTLASS v2.8)
  • 腾讯云开发者社区(CUDA:Tensor Core 与混合精度 GEMM、cuBLAS SGEMM 性能实测)
  • GitCode / CSDN(simpleCUBLAS、CUTLASS 源码解析、行/列主序)
  • 腾讯云 / CSDN(GPU 执行单元:昇腾 Cube Unit、寒武纪 MLU 稀疏加速、三家软栈对比)
  • 腾讯新闻 / 网易(DeepSeek 开源昇腾组件、TileLang 跨芯片算子生态)
  • 知乎(2026 国产 GPU/AI 芯片出货情况:昇腾/寒武纪/摩尔/沐曦等)
  • 央广网 / 中国经济时报 / 新京报(AI 芯片 GPU/ASIC/TPU 多路线、三条交付路线)
  • 腾讯新闻(摩尔线程等国产 GPU 上市后板块表现)
  • 微信公众号(AI闲谈、国联民生电子等)

笔者按:本文为个人备忘与学习笔记,面向普通读者讲清 GEMM/BLAS 与 Tensor Core、CUDA、Transformer 的关系及各家实现。技术参数以各芯片厂商官方与权威机构数据为准,若有出入以官方为准。

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

qq游戏模拟器哪个好 qq游戏模拟器游玩教程

QQ游戏大厅里的手游品类越来越丰富,从棋牌到卡牌再到音舞类都有覆盖。不少玩家想在电脑上玩QQ旗下的手游,却又担心模拟器的兼容性。QQ游戏生态适配到位的qq游戏模拟器成了不少玩家的刚需。一款好用的qq游戏模拟器不光要能流畅运行游戏,还得保…

作者头像 李华
网站建设 2026/10/6 8:02:03

MCP知识梳理(1)

作者:没有四次元口袋的蓝胖 日期:2026-10-05 标签:MCP协议, AI工具MCP协议基础 2024年底Anthropic开源了MCP(Model Context Protocol),短短一年多就成了AI工具生态的事实标准。Claude Desktop、Cursor、VS …

作者头像 李华
网站建设 2026/10/6 8:01:38

高频必考!N皇后:两个常数搞定二维棋盘,n=8为什么恰好92个解?

我们在一维数组上玩回溯——子集、组合、全排列。今天第一次登上二维棋盘:N皇后。 它难不在代码(核心只有20行),而在两件事: 怎么把二维搜索降到一维——88棋盘有64个格子,朴素枚举是C(64,8) ≈ 44亿种&…

作者头像 李华
网站建设 2026/10/6 8:01:36

Redis命令:HSCAN

Redis HSCAN 命令详细教程 HSCAN 以增量游标方式遍历 Hash 的字段与值,是遍历大 Hash 的标准手段。它每次调用只返回一部分数据,不会像 HGETALL 那样一次性阻塞服务端。 资料合集:https://pan.quark.cn/s/10e98d308913、https://pan.quark.…

作者头像 李华
网站建设 2026/10/6 8:00:20

GEO 优化是什么?它和 SEO 到底有什么区别

GEO(Generative Engine Optimization,生成式引擎优化)指的是让你的内容被豆包、DeepSeek、元宝、Kimi 这类 AI 引擎在生成答案时抓取并引用;它和 SEO 最大的区别是:SEO 争的是搜索结果页上的排名位置,GEO 争…

作者头像 李华
网站建设 2026/10/6 7:57:37

如何给游戏里的DLSS换版本:DLSS Swapper版本切换3步上手指南

如何给游戏里的DLSS换版本:DLSS Swapper版本切换3步上手指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 《赛博朋克2077》给你装的DLSS 3.5用着不顺眼,或者游戏还停留在DLSS 2.5而新版早已释…

作者头像 李华