Module 02: 算子开发与优化 (CUDA / Triton / CUTLASS)

涵盖 GEMM Tiling、Double Buffering、FlashAttention、Online Softmax、Triton 分块与 CuTe 抽象等 33 道手撕真题全解

极致压榨硬件算力峰值与片上存储带宽的高性能算子工程设计与白板手撕心法

模块导读:本模块共 33 道 高频面试题。前 2 题为公开免费样题(含完整题目描述与参考解答);第 3 题起的 31 道题目描述全部公开(见下方完整题目列表),答案在构建时加密,凭卡密在浏览器端解密后查阅。

Q1:有没有算子开发优化经验?

Tip💡 核心参考解答(公开试读样题)

有。曾参与优化如 GEMM、FlashAttention、LayerNorm 等核心算子。熟练使用 Shared Memory 和寄存器优化,解决 Bank Conflict,实现 Coalesced Memory Access;熟练运用 Warp 级原语及 Double/Pipeline Buffering 掩盖访存延迟;了解并能基于 CUTLASS/Triton 快速开发高性能算子,熟悉 Nsight Compute 性能分析。


Q2:Triton 和 CUDA 的区别是什么?为什么使用 Triton 开发算子而不是 CUDA?

Tip💡 核心参考解答(公开试读样题)

CUDA 是底层 C++ 扩展,需开发者手动管理线程(Thread/Warp)、Shared Memory、同步和寄存器分配,可实现极致性能但学习曲线陡峭。Triton 是基于 Python 的高级 DSL,以 Block 为编程粒度,编译器自动处理显存分配、Bank Conflict 消除和指令调度。使用 Triton 开发周期短、代码可读性强,且在许多场景下能达到媲美手写 CUDA 的性能。


本模块完整题目列表

以下为本模块全部 33 道题目。Q1–Q2 答案公开免费试读,Q3 起的答案需凭卡密解锁(题目描述本身全部公开)。

  1. 有没有算子开发优化经验?(免费)
  2. Triton 和 CUDA 的区别是什么?为什么使用 Triton 开发算子而不是 CUDA?(免费)
  3. Triton 算子的实现逻辑和分块策略是怎样的?
  4. 讲讲 MLIR,以及为什么要设计 MLIR?
  5. 说说 CUTLASS 与 Tensor Core 的关系?
  6. 描述一个 BasicGEMM 的数据流程和计算流程,探讨其抽象层次,分析几个关键的组件和模块设计。
  7. 解释 CUTLASS 是如何解决 Bank Conflict 的?
  8. CUTLASS 如何在不同架构上进行调优?
  9. MMA 和 ldmatrix 在 Cutlass/CuTE 中的 Thread Value Layout 是怎样的?
  10. GPU 矩阵转置 (Matrix Transpose) 使用 Shared Memory 的好处是什么?
  11. 怎么计算矩阵乘的计算强度 (Arithmetic Intensity)?
  12. 对于 Attention Kernel 怎么做 Profile 性能分析?对于不同批次长度不一的 Prompt 怎么处理?CUDA Block 的分块大小如何设定?
  13. MHA/MLA/MoE 等算子的访存计算如何进行?
  14. 针对 KL 散度算子可以做哪些优化?
  15. 写 CUDA 算子:前缀和。实现一个 Base 版本,并讲讲优化方法。
  16. 写 CUDA 算子:GEMM。讲讲优化方法和评估指标。
  17. 写 CUDA 算子:带 Double Buffering 的 GEMM。
  18. 写 CUDA 算子:Reduce 算子及其优化。
  19. 写 CUDA 算子:2D Reduce。
  20. 写 CUDA 算子:Max Reduce,Input [N, C, H, W] -> Output [N, H, W]。
  21. 写 CUDA 算子:Matrix Transpose (矩阵转置)。
  22. 写 CUDA 算子:Element-wise Mul (支持 Broadcast 的 4D Tensor)。
  23. 写 CUDA 算子:Layer Norm / RMSNorm。
  24. 写 CUDA 算子:计算自然对数 (Natural Log)。
  25. 写 CUDA 算子:Embedding Sparse Feature Pooling (Sum Pooling)。
  26. 手撕代码:Online Softmax。
  27. 手撕代码:FlashAttention 伪代码。
  28. 手撕代码:MQA 和 GQA。
  29. 手撕代码:MLA (Multi-Head Latent Attention)。
  30. 手撕代码:MHA (Multi-Head Attention)。
  31. 手撕代码:Linear Attention。
  32. 手撕代码:MoE (Mixture of Experts)。
  33. 手撕代码:Decode Layer。

<div class="vip-lock-badge">🔒 VIP 专享核心题库·进阶真题全量加密</div>
<h3 class="vip-module-lock-title">后续 31 道大厂核心真题与手撕源码已锁定</h3>
<p class="vip-module-lock-desc">
  本模块第 3 题起的参考解答(追问细节、白板推导与手撕 Kernel 实现)在构建时加密,凭卡密在浏览器端解密后查阅。上方已公开全部题目列表。
</p>
<div class="vip-module-features">
  <div class="vip-feat-item">✓ 后续 31 道题目的完整参考解答</div>
  <div class="vip-feat-item">✓ 大厂追问细节与白板推导心法</div>
  <div class="vip-feat-item">✓ 手撕 CUDA / Triton Kernel 源码</div>
  <div class="vip-feat-item">✓ 微店自助下单,或闲鱼人工发卡</div>
</div>
<div class="vip-lock-actions">
  <button class="vip-btn vip-btn-primary vip-btn-lg" onclick="window.hpcVip.openModal()">🔑 输入密钥立即解锁后续全部 31 题</button>
  <a href="https://weidian.com/item.html?itemID=7884224812&utm_source=hpclearning&utm_medium=vip_card&utm_campaign=vip_card" target="_blank" class="vip-btn vip-btn-outline vip-btn-lg">🛒 微店下单获取卡密</a>
</div>