【GPU 算子工程】Softmax、LayerNorm 与逐元素融合
归约类算子是 memory-bound 的典型。讲 softmax 的数值稳定写法(减最大值、在线 softmax)、LayerNorm 的 Welford 单遍方差,以及逐元素融合:实测把 scale+bias+GELU 三个 kernel 融成一个,提速 2.94 倍。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 2 篇文章 · 返回首页
归约类算子是 memory-bound 的典型。讲 softmax 的数值稳定写法(减最大值、在线 softmax)、LayerNorm 的 Welford 单遍方差,以及逐元素融合:实测把 scale+bias+GELU 三个 kernel 融成一个,提速 2.94 倍。
FlashAttention 把注意力重写成分块的在线 softmax,不落地 N×N 分数矩阵,用重算换访存。本文推导算法、给出实测正确的简化实现(误差 4e-7、避免 16.8MB 分数矩阵),并引用原论文的加速与显存数据。