AI Infra

Tags

#benchmark

4posts

Day 18memory-bound

Day 18 · W3 复习:自己的 roofline、五道验收题、错题本

把测带宽、测算力、画 roofline、扫 batch、对比标称这五天压成一页笔记:每一步的公式、预期区间和坑放在一起。合上笔记做路线图 W3 的五道验收题,再把这周最容易测错的地方一条条摊开。屋顶从这周起是自己测的,不是抄的。

Day 14compute-bound

Day 14 · 实测峰值算力:大方阵 matmul 能打到几成

昨天测了斜线,今天测屋顶。用大方阵矩阵乘法把 T4 真正能算多快测出来:FLOPs = 2MNK 除以时间。坑比带宽多:矩阵不够大打不满、fp32 的标称是另一个数、fp16 要真走 tensor core 才对得上 65 TFLOPS、A100 的 624 是稀疏值。顺手算出方阵多大才跨过 ridge point。

Day 13memory-bound

Day 13 · 实测显存带宽:一次 copy 能搬多快

W3 开工。标称 320 GB/s 是纸面数字,今天用一次最简单的逐元素加法,把 T4 真正能搬多快测出来,再把这个实测值装回 Day 5 的 decode 下限公式里。顺手踩清三个坑:字节只算读没算写、张量小到落进 L2、没 synchronize。

Day 08

Day 8 · CUDA 是异步的:不 synchronize 的计时全是假的

CPU 把 kernel 扔进队列就往下走,GPU 在后面慢慢干。不加 synchronize,perf_counter 测到的是「派活的时间」,不是「干完活的时间」,能差几个数量级。今天把这件事画成时间线,对比两种正确的计时法,把 Day 7 的计时代码改成以后一年都用的最终版。