UNIT 64 / 78 · W10-2
同一矩阵结果穿过三段数据流
本单元预计 4 核心小时。可以分成多个学习时段,按完整小节推进;停下来时留下输入、命令、结果和下一步。
时间包含阅读、编码与检查,是学习预算而非期限。打开此页只保存阅读位置,不代表通过验收。
先知道自己在观察什么
Tenstorrent 端到端例子:让每一层对同一结果负责 →
按host准备、每核参数、reader/compute/writer和回读四段核对;明确正文mesh片段仍缺什么。
Tenstorrent 端到端例子:让每一层对同一结果负责 →
阅读公开完整elementwise示例,找到buffer、kernel配置与runtime参数的对应文件/位置,不拼接不同版本接口。
先备不清楚时,沿章节入口补读;不要依赖翻过页数判断进度。
本单元另列的补授
以下时间加在原单元预算之外;完成对应读法后再进入依赖它的任务。
- Metalium三个host对象 → · 20min
先留下自己的预测或独立尝试
逐项手算A为0到15、B全10时首尾与写入次数,再运行CPU端到端模型。
两组reader/compute/writer →源码下载与编译入口
下载到自己的练习目录。按本节给出的完整命令编译;多文件与driver要求见原任务。需要时查阅文件保存与编译操作 →
40-a.cpp先保存预测,再核对正文标明的预期或诊断。完整构建、多文件与设备实验按原任务命令执行。
通过一个变动看清原因
在副本把local中的v+=10改为v+=1,将每项out[i]==a[i]+10的检查改为a[i]+1;保留writes[i]==1与两行一组分工。这里的B全1由加法常量表达。
修改后应观察到什么
首项1、末项16、写入总数16且每位置恰好一次。
换一组条件,独立解决
独立把十项工作分到三组,再把两项分四组;为同一数学任务写每组起点、数量、输出偏移和结束条件。
用这些条件检查自己的实现
- 十项数量4、3、3,起点0、4、7;两项数量1、1、0、0。
- 每个位置只写一次;空组不能等待不存在的输入tile。
用证据决定是否进入下一单元
- 数学、布局、协议三种正确性各需要什么检查?
- 为什么全1矩阵可能掩盖tile重排错误?
本单元的验收依据
分区表与CPU逐坐标oracle通过,实际Metalium编译/运行仍按环境单列,不能用模型输出替代。
留下自己的代码或推演、测试输入、真实输出和仍不确定的问题。未达到要求时,下一次继续本单元。