← 完整学习路线

UNIT 49 / 78 · W07-2

先保留样本,再谈平均与加速

本单元预计 4 核心小时。可以分成多个学习时段,按完整小节推进;停下来时留下输入、命令、结果和下一步。

时间包含阅读、编码与检查,是学习预算而非期限。打开此页只保存阅读位置,不代表通过验收。

01 / READ

先知道自己在观察什么

可信测量、原始样本与性能模型 →

按setup、warm-up、timing、validation四区标记代码;读离群值、中位数与Amdahl的假设。

先备不清楚时,沿章节入口补读;不要依赖翻过页数判断进度。

本单元另列的补授

以下时间加在原单元预算之外;完成对应读法后再进入依赖它的任务。

02 / PREDICT & RUN

先留下自己的预测或独立尝试

先正常运行检查样本数与checksum,再用--csv保存真实纳秒样本;不要求时间恰好等于某个数字。

保存真实 CPU 求和样本 →
源码下载与编译入口

下载到自己的练习目录。按本节给出的完整命令编译;多文件与driver要求见原任务。需要时查阅文件保存与编译操作 →

26-b.cpp

先保存预测,再核对正文标明的预期或诊断。完整构建、多文件与设备实验按原任务命令执行。

03 / CHANGE ONE THING

通过一个变动看清原因

在副本将样本数改为7,保持每轮输入扰动,并重新手算checksum后更新检查。

修改后应观察到什么

samples=7、checksum=35000350021;CSV有7条样本,耗时由实际运行决定。

04 / DO IT YOURSELF

换一组条件,独立解决

为自己的顺序Reduction Lab保存至少两个规模的原始样本,记录编译器、flags、系统、CPU与计时范围。

用这些条件检查自己的实现

  • 正确性检查在计时区域外;warm-up不算正式样本,样本数量非零。
  • 分别报告中位数和范围,保留原始行;没有看到差异也如实记录。
05 / EXPLAIN & CHECK

用证据决定是否进入下一单元

  1. 围住异步提交与围住完成分别测了什么?
  2. 为什么只优化20%耗时部分不可能让总时间减半?

本单元的验收依据

原始CSV可重读、环境与范围齐全,数值校验独立;测量结论仅针对本机CPU与这次范围。

留下自己的代码或推演、测试输入、真实输出和仍不确定的问题。未达到要求时,下一次继续本单元。