下面是一套 Lecture 5 Exit Ticket,对应 lec5.md 的当前内容。把它当成一张“GPU 直觉卡”会更顺手。重点不是背硬件名词,而是看你有没有把算力、带宽、访存和并行执行方式串成一幅图。
Exit Ticket(10 题,开卷)
1) CPU 和 GPU 的分工为什么不一样
请用 2 句话回答:
2) 为什么内存层次对 GPU 这么重要
请回答:
- HBM、shared memory、cache 这些层次各自大概在干什么
- 为什么“搬数据”常常比“算一遍”更贵
3) roofline 这张图为什么经常被拿出来讲
请用 2 句话回答:
- 它想把什么关系讲清楚
- arithmetic intensity 为什么会决定你更像 compute-bound 还是 memory-bound
4) coalescing 和 branch divergence 听起来像黑话,其实在说什么
请分别用一句短语解释:
- coalescing 是什么
- branch divergence 会让 GPU 发生什么
5) shared memory 和 tiling 为什么总是一起出现
请用 2 到 3 句话回答:
- shared memory 解决了什么问题
- tiling 为什么会提高复用率
6) operator fusion、低精度、FlashAttention 分别在省什么
请回答:
- fusion 为什么能减少开销
- 低精度为什么能帮忙
- FlashAttention 为什么特别适合这门课的讨论
7) 为什么 attention 特别适合拿来讲 GPU
请用 1 到 2 句话回答:
- attention 的计算和访存为什么容易互相拉扯
- 这对 kernel 设计意味着什么
8) 矩阵乘法为什么总被当成性能标杆
请回答:
- 它为什么是最常见的基准任务之一
- 你会从它身上学到什么优化顺序
9) 如果你要优化一个算子,你会先看什么
请用 1 到 2 句话回答:
- 你会先盯算力、带宽还是访存
- 为什么“少搬运数据”是总原则
10) 用一句话把这讲的工程直觉说出来
请尽量自然一点:
- GPU 优化的核心是什么
- 为什么“算得顺”比“算得多”更重要