← 完整学习路线

UNIT 64 / 78 · W10-2

同一矩阵结果穿过三段数据流

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

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

01 / READ

先知道自己在观察什么

Tenstorrent 端到端例子:让每一层对同一结果负责 →

按host准备、每核参数、reader/compute/writer和回读四段核对;明确正文mesh片段仍缺什么。

Tenstorrent 端到端例子:让每一层对同一结果负责 →

阅读公开完整elementwise示例,找到buffer、kernel配置与runtime参数的对应文件/位置,不拼接不同版本接口。

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

本单元另列的补授

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

02 / PREDICT & RUN

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

逐项手算A为0到15、B全10时首尾与写入次数,再运行CPU端到端模型。

两组reader/compute/writer →
源码下载与编译入口

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

40-a.cpp

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

03 / CHANGE ONE THING

通过一个变动看清原因

在副本把local中的v+=10改为v+=1,将每项out[i]==a[i]+10的检查改为a[i]+1;保留writes[i]==1与两行一组分工。这里的B全1由加法常量表达。

修改后应观察到什么

首项1、末项16、写入总数16且每位置恰好一次。

04 / DO IT YOURSELF

换一组条件,独立解决

独立把十项工作分到三组,再把两项分四组;为同一数学任务写每组起点、数量、输出偏移和结束条件。

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

  • 十项数量4、3、3,起点0、4、7;两项数量1、1、0、0。
  • 每个位置只写一次;空组不能等待不存在的输入tile。
05 / EXPLAIN & CHECK

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

  1. 数学、布局、协议三种正确性各需要什么检查?
  2. 为什么全1矩阵可能掩盖tile重排错误?

本单元的验收依据

分区表与CPU逐坐标oracle通过,实际Metalium编译/运行仍按环境单列,不能用模型输出替代。

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