论证期 · 团队补课

类 CUDA · 类 Triton

高端芯片预期:算子、众核编译、框架。协作方推类 CUDA;我方可在其上建类 Triton。先分清层级,再天天练。

完整版在 ob「知识整理_类CUDA与类Triton众核生态」· 动手见 compile

1. 两层,不是两门平行课

框架(PyTorch / 自研)
    ↓
类 Triton:算子 DSL + 编译(tile / 融合 / autotune)  ← 我方构建重点
    ↓ 生成或调用
类 CUDA:编程模型 + Runtime + 工具链                 ← 协作主攻,可选参与
    ↓
众核硬件 ISA
类 CUDA = 怎么在众核上跑线程与访存。
类 Triton = 怎么用更高层 DSL 写出可自动优化的算子。
没有相对稳定的 Runtime,类 Triton 无处降落。

2. 任务 ↔ 练什么

任务知识现在用什么练
算子开发tiling、融合、精度、测速Triton 04b/04c + 官方 Tutorial
众核编译并行映射、存储、同步、IR→码读 compile 日志;CUDA/PTX 概念
框架构建图 IR、Backend、契约、SessionLxCC / bid 经验迁移
参与类 CUDA线程层次、launch、Runtime APICUDA Guide 入门 + 一个 .cu
建类 TritonDSL、降到 Runtime、autotunetriton_lab 公开作品

3. 类 CUDA 最小口述

  1. 主机编排 / 设备执行
  2. Thread → Warp → Block → Grid(名字可变,层次要留)
  3. 全局 / 共享 / 寄存器
  4. Kernel launch + 同步
  5. H2D/D2H;工具链:编译 → 装载 → 驱动

材料:CUDA C++ Programming Guide(先读前几章)。

4. 类 Triton 最小口述

  1. kernel[grid](args):grid 是启动配置,不是签名参数
  2. program_id = tile id;BLOCK + mask 处理尾块
  3. 融合 = 少一次全局写回(对照 Inductor 的 fused_add_relu)
  4. 底下仍要有 Runtime 做分配与 launch

材料:compile 页 · Triton Tutorials · 口卡③

5. 框架窄腰(论证可用)

优先冻结:IR + Backend 接口 + Runtime ABI,先 1~2 条算子竖切,再谈完整训练框架。边端已有经验:进图 → Pass → 边契约 → golden。

6. 叙事一句

生态分两层:底层类 CUDA(协作推进,我方可参与子集);上层类 Triton(算子生产力)。我方并做算子、编译衔接与框架窄腰;近期用 GPU 上 CUDA/Triton 代理练兵,接口冻结后垂直迁移。

7. 知识层(L0~L5)

  1. L0 异构心智:主机/设备、算死搬死、存储层次
  2. L1 类 CUDA:线程层次、launch、Runtime
  3. L2 类 Triton:tile DSL、融合、降到 Runtime
  4. L3 众核编译:映射、同步、IR→码
  5. L4 框架窄腰:图、Backend、ABI
  6. L5 算子工程:库、注册、CI/golden

8. 可观看(P0 先这几条)

精读已上站:Triton 精读导览(合集 / L14 / L29 / 侧翼)。完整选集与「看完立刻做」见 ob:资料清单_可观看与文档_类CUDA_Triton.md;媒体在本地 gpu_triton/。

9. 文档 + GitHub

学法:视频绑定官方 tutorial → triton_lab 改旋钮出表 → 生态仓只读 README 画层级图。

10. 本周最小动作