文章预览
【点击】 加入大模型技术交流群 原文:https://zhuanlan.zhihu.com/p/708645371 最近 FlashAttention3 爆火,看了下其中的技术报告,发现大量使用了 NV Hopper 架构的新特性。Hooper 架构围绕影响并行程序性能的两个关键因素进行设计,分别是 数据局部性 以及 异步执行 。所以 Hopper 架构(https://developer.nvidia.com/blog/nvidia-hopper-architecture-in-depth)针对这两个关键因素,在软件层提供了两方面的编程能力: 新线程、显存层次 :通过新增 Thread Block Cluster 这一线程层次,提供跨 Thread Block 的 Shared Memory 访问。开发者可以基于 Thread Block Cluster ,利用 Distributed Shared Memory 实现高效的多 Thread Block 的协同运行; 访存计算异步执行: Hopper 在硬件层提供了 TMA 单元 ,在软件层可以通过 cuda::memcpy_async 使用 TMA 单元实现异步的 Global Memory 和 Shared Memory 之间的拷贝。 本文主要学习 T
………………………………