ai-infra-interview-305

第 23 题:如何编写一个融合算子(fused op)?以layernorm + residual + activation为例

题目

如何编写一个融合算子(fused op)?以layernorm + residual + activation为例


完整讲解

一、融合算子是什么?

把多个小算子(如 LayerNorm + residual + activation)合成一个 kernel,减少 kernel launch 开销中间结果写回 global memory,并提高 访存局部性(中间结果留在 register/shared),从而降延迟、提带宽利用率。

二、以 layernorm + residual + activation 为例

三、工程要点


面试要点


记忆要点

  1. 融合 = 多 op 一 kernel,减 launch 与中间写回;layernorm + residual + act 可一次做完 norm、加、激活。
  2. 实现:归约求 mean/var → norm → + residual → act,写回;训练需对应 backward。
  3. 收益在带宽受限时大;需数值校验与可选非融合对照。
返回模块 返回总览