尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
sm_90 / Hopper 架构硬件特性:TMA、异步 WGMMA、mbarrier、Thread Block Cluster,FA3 底层硬件基础
在 Hopper 架构Compute Capability 9.0 /sm_90问世之前GPU 的硬件加速主要依赖 Tensor Core 算力的提升。然而在实际的大模型计算如 FlashAttention中内存带宽瓶颈Memory Wall与线程同步开销往往才是制约吞吐量的最大杀手。FlashAttention-3FA3之所以能在 H100 上榨干近 75% 的理论极限算力其根本原因在于彻底放弃了传统的 GPU 编程思维全面拥抱了 Hopper 架构引入的四项底层硬件革命Thread Block Cluster、TMA、mbarrier 以及 异步 WGMMA。本文将从sm_90的底层硬件机制出发深入拆解 FA3 的硬件支撑基石。一、 Thread Block Cluster线程块集群在 Ampere 及更早的架构中GPU 线程层级的最小协同单位是Thread BlockCTA且 Block 只能部署在单个 SMStreaming Multiprocessor上。Block 之间无法直接通信必须通过昂贵且高延迟的全局显存Global Memory/HBM进行中转。Hopper 架构在 Grid 和 Block 之间引入了一个全新的硬件抽象层——Thread Block Cluster。Grid └── Thread Block Cluster (由 1~8 个 Block 组成) ├── Thread Block 0 ─(分布式共享内存 DSEM)─ Thread Block 1 └── (直接映射到物理 SM Cluster支持硬件级 SM 到 SM 高速通信)底层硬件机制分布式共享内存DSEM硬件级跨 SM 通信一个 Cluster 内的多个 Block 会被调度到同一个SM Cluster物理上紧密相邻的 SM 集合上运行。DSEMDistributed Shared MemoryHopper 允许一个 SM 上的线程通过专用的 SM-to-SM 硬件互联网络直接以极低延迟访问同 Cluster 内其他 SM 的 Shared Memory。在 FA3 中的作用FA3 利用 Cluster/DSEM 机制实现了跨 SM 的 KV Cache 共享与 P2P 数据交换。在长文本 attention 计算中多个 SM 可以并行加载K/VK/VK/V块并通过 DSEM 互相借阅极大减少了对 HBM 的重复读取。二、 TMATensor Memory Accelerator张量内存加速器在传统的 CUDA 编程中将数据从 Global MemoryHBM搬运到 Shared MemorySRAM需要使用 CUDA 线程手动执行LDG指令并占用常规计算寄存器。即便 Ampere 引入了cp.async数据的寻址、边界检查和索引计算仍需占用大量 CUDA 线程的算力。Hopper 引入了TMATensor Memory Accelerator——一个独立的硬件级 DMA 搬运引擎。[ Traditional Async (Ampere) ] CUDA Threads ── Address Calculation ── Issue cp.async ── Standard Registers/L1 [ TMA (Hopper sm_90) ] Producer Warp ── Issue TMA Descriptor (1 Instruction) ── TMA Hardware Engine │ Shared Memory (SRAM) ──────── Direct HW Transfer ─────────────┴─ Global Memory (HBM)底层硬件机制硬件级多维张量寻址TMA 引擎原生支持 1D 至 5D 张量的切片Tiling、stride 计算和边界填充Out-of-bounds padding。Host/Device 只需配置一个TMA Descriptor描述符GPU 即可按硬件指令直接搬运多维矩阵切片。零寄存器与零线程占用线程只需提交一条 TMA 异步指令后续所有的数据寻址、跨 Memory Hierarchy 搬运全由 TMA 硬件接管不占用任何通用 CUDA 寄存器也不消耗 Warp 的执行流水线。支持 Cluster 广播MulticastTMA 允许将 HBM 中的某一块张量一次性硬件级广播送到同一个 Cluster 内所有 SM 的 Shared Memory 中。三、 mbarrierHardware Asynchronous Barrier有了异步搬运引擎 TMA就必须有极轻量、高效的硬件同步机制来通知消费者线程“数据已成功写入 SRAM可以开始计算了”。Hopper 提供了硬件级异步屏障mbarrierMemory Barrier。底层硬件机制SRAM 级硬件计数器mbarrier是分配在 Shared Memory 中的硬件同步对象。它包含两个核心原子计数器Transaction Count字节事务计数预设本次异步传输期望的总字节数。Arrival Count到达计数记录到达/完成的线程或硬件引擎数量。硬件级 TMA 绑定TMA 引擎可以直接与mbarrier硬件进行信号绑定。当 TMA 将指定大小的数据全部写入 SRAM 后TMA 硬件会自动向mbarrier发送arrive信号无需任何 CUDA 线程介入。非阻塞等待mbarrier.try_wait消费者 Warp 可以通过非阻塞轮询或条件挂起来等待mbarrier翻转 Phase阶段彻底避免了传统__syncthreads()导致的全 SM 线程停顿。四、 异步 WGMMAWarp Group Matrix Multiply-AccumulateTensor Core 是 GPU 进行矩阵乘法计算的核心部件。在 Ampere 架构中Tensor Core 的最小驱动单位是Warp32 个线程执行mma.sync指令。Hopper 架构打破了 Warp 的界限引入了Warp Group由 4 个连续 Warp 组成的 128 线程集合并推出了专门的硬件级矩阵乘指令——WGMMA。Ampere (MMA): Warp (32 Threads) ── Issue mma.sync ── Load Reg A/B ── Tensor Core Hopper (WGMMA / sm_90): Warp Group (128 Threads) ── Issue wgmma.mma_async ── Directly Read SRAM (Operand A) └── Read Reg / SRAM (Operand B) └── Accumulate to Reg底层硬件机制直接读取 Shared MemorySRAM-Driven GEMM传统的 MMA 指令要求矩阵AAA和BBB必须先从 SRAM 显式加载到寄存器RF中再送入 Tensor Core。WGMMA 允许 Tensor Core 直接从 Shared Memory 读取操作数AAA甚至BBB大幅降低了对通用寄存器的需求Register Pressure避免了寄存器溢出Register Spilling。完全异步执行Asynchronous Executionwgmma.mma_async是一条非阻塞指令。Warp Group 触发指令后硬件会将计算任务派发给 Tensor Core 后台执行指令立即返回。线程可以继续去干其他事情最后通过wgmma.wait_group批量等待计算完成。极致的硬件吞吐128 个线程组成的 Warp Group 作为一个整体调度显著降低了硬件指令解码和发射开销Instruction Overhead能够充分驱动 Hopper FP16/FP8 Tensor Core 的最大硬件吞吐。五、 四者合一FA3 如何构建底层硬件流水线FlashAttention-3FA3正是将上述四大sm_90硬件特性缝合成了一条极其紧密的异步重叠流水线Asynchronous Overlap Pipeline。1. Warp-SpecializationWarp 角色专精FA3 在一个 Thread Block 内将 128/256 个线程划分为不同的功能角色Producer Warp Group生产者负责“指挥” TMA。利用TMA指令发起Q,K,VQ, K, VQ,K,V矩阵切片向 SRAM 的搬运并将传输绑定到mbarrier。Consumer Warp Group消费者负责“指挥” Tensor Core 与 Vector Core。等待mbarrier信号后直接调用WGMMA指令让 Tensor Core 从 SRAM 读取数据进行QKTQ K^TQKT和PVP VPV矩阵计算。2. 三重异步掩盖流水线Triple Async Overlap在 FA3 的主循环Main Loop中整个计算流程被拆解为多重并发Time ───► ───────────────────────────────────────────────────────────────────────────── [TMA Engine] │ Load Tile i1 (HBM - SRAM) │ Load Tile i2 ... [mbarrier] │ Signal Tile i1 ready │ Signal Tile i2 ready [Tensor Core] │ WGMMA Tile i (SRAM - Reg) │ WGMMA Tile i1 ... [Vector Core/ALU] │ Softmax Tile i-1 (Reg) │ Softmax Tile i ... ─────────────────────────────────────────────────────────────────────────────内存传输与计算重叠TMA 正在异步加载第i1i1i1块数据时Tensor Core 正在用 WGMMA 计算第iii块数据。GEMM 与 Non-GEMM 重叠Ping-Pong / Interleaving当 Tensor Core 忙于执行P⋅VP \cdot VP⋅V的 WGMMA 时CUDA Vector Core 正在同步计算第i−1i-1i−1块的 SoftmaxeS−Me^{S-M}eS−M、求和与归一化。零阻塞同步全程由mbarrier在硬件层监控字节数与事件Consumer 线程无需调用昂贵的全局同步指令。总结sm_90硬件特性对比硬件特性传统架构 (Ampere/sm_80)Hopper 架构 (sm_90 / FA3 基石)FA3 获得的性能红利协同粒度Thread Block (单 SM)Thread Block Cluster (多 SM)支持跨 SM 的 SRAM 共享减少 HBM 访问数据搬运线程执行cp.async/ 占寄存器TMA 硬件引擎 (Zero-Thread/Reg)释放大量 CUDA 线程算力与寄存器异步同步__syncthreads()/ 阻塞式屏障mbarrier(硬件 Transaction 计数)实现传输与计算的完全异步解耦矩阵乘法mma.sync(Warp 级 / 必须读 Reg)wgmma.mma_async(Warp Group / 直读 SRAM)极致降低寄存器压力翻倍 Tensor Core 吞吐FlashAttention-3 的成功本质上是计算范式的转移——从传统的“编写 CUDA 线程去逐行计算”转变为“编写调度逻辑驱动 TMA、mbarrier 和 Tensor Core 三大硬件引擎协同高速流水化运转”。
RELATED

相关推荐

从南京到全球求职市场,蒸汽教育是一家怎样的公司?

从南京到全球求职市场,蒸汽教育是一家怎样的公司?

搜索“蒸汽教育怎么样”时,留学生和家长可能会先遇到一个基础问题: “蒸汽教育”“蒸汽求职”“STEM Career Group”和“南京蒸汽职业咨询有限公司”,说的是同一家公司吗?为什么中文品牌、英文名称和合同主体看起来并不一样&#…

📅 2026/11/15 19:23:40
Docker从零搭建:安装/镜像管理/容器运行全攻略

Docker从零搭建:安装/镜像管理/容器运行全攻略

容器技术 基础环境: 配置Yum仓库 docker安装 配置镜像加速 镜像管理&容器管理 镜像管理命令 容器管理命令 简单镜像制作 容器内部署应用 基础环境: 配置Yum仓库 把 docker 软件包添加到跳板机的自定义 yum 仓库中 [root@ecs-proxy ~]# rsync -av docker/ /var/ftp/loc…

📅 2026/11/5 12:13:35
银河麒麟桌面自定义desktop启动器+开机免密自启动配置指南

银河麒麟桌面自定义desktop启动器+开机免密自启动配置指南

编写desktop文件并配置免密启动 配置解析 应用启动体系架构 核心组件功能对比 桌面环境变量处理 实践案例 配置desktop文件 pkexec提权(需要认证) 无需认证(免密配置 ) 故障排查 配置解析 应用启动体系架构 #mermaid-svg-ACtU1pOO8ngvSqbX{font-family:"trebuchet ms…

📅 2026/9/28 13:17:31
MORE NEWS

更多资讯

📰

怀远哪有办电工证的良心建议:学历不高也能报,电工证怎么考

怀远哪有办电工证的良心建议:学历不高也能报,电工证怎么考 你是不是也担心自己学历不高,怕报不了电工证?别急,电工证报考其实对学历要求并不高,只要你能正常沟通,基本都能报名。今天我就从 怀远哪有办电工证的 角度,给你一些 良心建议…

📰

江苏省的电工特种工证过期了怎么复审?内部消息告诉你怎么搞定

江苏省的电工特种工证过期了怎么复审?内部消息告诉你怎么搞定 证书过期了不知道怎么复审延期?这事儿别慌,尤其是你作为江苏省中小施工企业的负责人,手里要是握着一批电工特种工证,一旦证书失效,项目停工、罚款、甚至被勒令整改都是小菜一碟。这不是危言…

📰

民权县电工证办理内部消息:外省证怎么转?这几点你必须知道

民权县电工证办理内部消息:外省证怎么转?这几点你必须知道 之前考的证在外省能不能转过来?这个问题几乎是每个想在民权县从事电工工作的人都会问的。现在政策更新频繁,很多人拿着外地的电工证却不知道能不能用,也不清楚怎么转,更不知道转过来之后能不能…

📰

安康初级电工证报名前先问清楚:外省证能不能转过来,考前押题怎么用

安康初级电工证报名前先问清楚:外省证能不能转过来,考前押题怎么用 之前考的证在外省能不能转过来?这是很多在外地打工、想回老家发展的朋友最关心的问题,尤其是像安康这样的地方,不少人都在外地考过电工证,回来后才发现证书不被认可,白白浪费了时间和…

📰

你有电工证吗搞笑?郑州报考避坑指南,鹤壁建筑工人的避雷经验

你有电工证吗搞笑?郑州报考避坑指南,鹤壁建筑工人的避雷经验 怕考不过白交培训费?我懂你,作为一个在鹤壁工地干了五年的建筑工人,我亲眼见过太多人因为“电工证”问题栽了跟头,交了钱、花了时间,最后连个证都没拿到。今天我就从咱鹤壁建筑工人的角度出…

📰

工地太忙根本没时间复习考试?枣林电工证+郑州报考避坑指南全解析

工地太忙根本没时间复习考试?枣林电工证+郑州报考避坑指南全解析 工地太忙根本没时间复习考试,这是很多一线电工的共同心声。尤其是在郑州这样的施工大市,电工证不仅关系到能否持证上岗,还直接决定工资待遇和工作机会。如果你正在办理或准备办理…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬