Group 1D: Heterogeneous Scheduling and Operator Programming | 1D: 异构调度与算子编程
本组解决“怎么精细控制计算和数据流”的问题,连接 CPU/GPU 协同、CUDA/Triton 和运行时调度。
Group Overview | 组概览
这一组是从“知道硬件存在”走到“知道程序怎么落到硬件上”的衔接层,也是进入 Part 3 的直接前置。阅读顺序和组内资产见下表,先看 1C,再进入这一组的执行模型和编程模型页面。
Group Asset Overview | 组内资产总览
| 页 | 核心职责 | Q 数 | 代码块数 | 已有码的 Q | 待补代码的 Q | 定位 |
|---|---|---|---|---|---|---|
| 07 | 分配 CPU/GPU 的执行边界 | 4 | 4 | Q1, Q2, Q3, Q4 | 无 | 主线页 |
| 08 | 选择合适的编程与映射方式 | 4 | 4 | Q1, Q2, Q3, Q4 | 无 | 主线页 |
| 29 | 压低 Stream 调度开销 | 5 | 6 | 全部 | 无 | 基础节 |
| 30 | 处理动态形状带来的波动 | 3 | 3 | 全部 | 无 | 基础节 |
| 31 | 评估 GPU 虚拟化与隔离收益 | 3 | 3 | 全部 | 无 | 基础节 |
| 15 | 理解 CUDA 执行层级 | 3 | 3 | Q1, Q2, Q3 | 无 | 主线页 |
| 16 | 用 Warp / Block / Shared Memory 提升复用 | 3 | 3 | Q1, Q2, Q3 | 无 | 主线页 |
| 17 | 看懂异步执行和重叠收益 | 3 | 3 | Q1, Q2, Q3 | 无 | 主线页 |
| 18 | 把程序块映射到执行块 | 3 | 3 | Q1, Q2, Q3 | 无 | 主线页 |
| 19 | 减少算子间中间张量往返 | 3 | 3 | Q1, Q2, Q3 | 无 | 主线页 |
Learning Path | 学习路径
Recommended Order | 推荐顺序
- 主线先看 07 和 08,把 CPU/GPU 协同和 CUDA/Triton 编程模型先立住;这两页都给每个 Q 配了最小验证代码,方便直接检查调度和映射直觉。
- 再看 15、16、17、18 和 19,把执行模型、stream、shared memory 和 fusion 的原理链路补齐,其中这些页面都已改成
Q结构的主线页。 - 最后看 29、30 和 31,把高级调度、动态 shape 和 MIG 的工程化理解补完。
Next Steps | 后续衔接
- 基础认知层:先把 07 和 08 看完,再进入 Part 3 的 Triton kernel 和系统调度主线,其中这两页的代码块主要负责把异构调度和编程模型的关键判断跑通。
- 执行补充层:15、16、17、18 和 19 主要帮助理解 Part 3 里的 block / mask / fusion 这条实现链路。
- 工程延展层:29 继续承接高级调度,30 和 31 则分别补动态 shape 和 MIG 这类更细的运行时判断。
Environment Notes | 环境说明
- 默认按
CPU-first阅读,先把执行模型和调度关系想清楚;07 / 08的 Q 都配了验证代码,适合边读边核对。 - 这里只写组级统一前提,不点到具体节号。
- 少量页面如需 CUDA 工具链或
GPU required,以后续单页说明为准,不在组页重复展开。
