跟着问题走
从“能放下吗”,走到最后117个周期
两题在实际会话中交错推进;这里按问题串起阅读顺序。每一步会注明当时观察与本次解释的区别。
ASTRA 的优化过程 / 从问题读起
先发现哪里在等,再尝试改变数据怎么搬、任务怎么分。速度上来后,新的问题变成:怎样让最忙的那一小段也不超过功率预算?
下面按 8 个问题带你读。每步先讲线索和判断,再看试了什么、结果怎样影响下一步。
P1:一次处理很多行。同一份权重能被多个位置共享,重点是减少重复搬运。
D1:连续处理8步,每步一行。未来输入还没释放,重点是跨步留住权重、缩短一步里的等待。
SM 是可并行工作的计算单元;WG 是分给它的任务组。RF 是每个任务组计算时使用的小存储。
每种设计都要同时跑对两题,面积≤24 mm²,最热的1000周期平均功率≤20 W。
跟着问题走
两题在实际会话中交错推进;这里按问题串起阅读顺序。每一步会注明当时观察与本次解释的区别。
把“搜索”落到一个具体问题
以早期 D1 的权重常驻为例,外层选机器大小和面板宽度;内层回答:每块权重归哪个任务组,才能放下,并避免一个阶段只有少数计算单元忙?
根据早期VL16、每WG预留16 KiB临时区、两层历史K/V全驻留的模板计算。容量检查只能否定一部分候选;通过它还不等于存在合法放置,更不等于速度快。
W1:128×512;W2:512×128。面板宽度一样时,W2的求和维长4倍,所以一个面板也大4倍。改变这个变量会同时改变容量、任务数量与可并行性。
每个RF分区4 KiB。来自保存的placement.json;这里只展示前两个WG,不是完整调度时间线。
| WG | 分到的权重 | 权重空间 | 历史 + 临时区 | 合计 |
|---|---|---|---|---|
| g0 | 第2层W1的第0–15、16–31列 | 2×8=16 KiB | 32+16 KiB | 64 KiB |
| g1 | 第2层Wo 1块、W1 1块、W2 1块 | 8+8+32=48 KiB | 0+16 KiB | 64 KiB |
“放置”选择了谁持有权重;装载的时刻、多个WG如何争用网络、融合后是否还需要原来的中间结果,仍要由程序和官方计时回答。
打开实际分配表 ↗01 / 成绩与资格
61 个双题候选,按日志追加顺序排列。点击节点查看配置;无完整周期的失败项位于底部。
纵轴为周期折算分;只有绿色实心点和阶梯是完整合格 grade。空心点尚未完整 grade。复验标记附在对应候选位置,横轴不代表评分完成时间。
COMPARE / 同时看两边
03 / 把机制拆开看
一个 WG 的 64 KiB RF,分成 16 个 4 KiB 分区。每块为 32×32 FP32。
绿:累加器;蓝:A 双缓冲;金:B。B 在容量允许时双缓冲。GELU 临时区会复用已结束生命周期的输入区;示意依据生成器的静态约束。
04 / 搜索模型
没有一个 MILP 同时求出整题最优。早期枚举、CP-SAT 分配、手工结构构造与后期排程实测共同推进。
05 / 全部证据
双题、D1 单题与局部核分开查看,避免混成同一分数序列。
| 序号 / 候选 | 证据级别 | P1 / 核周期 | D1 周期 | 最高功率 W | 面积 mm² | 完整 grade 分 |
|---|
“通过已测门槛”仅限该行测量范围。局部核不会产生提交分数;空白异常保留为“未记录具体原因”。
06 / 人类可以带走的方法
以下是对公开行为和证据的归纳;可复用的是提问与验证方式,具体参数要重新校准。