问题概述
PTO-SPEC main@c71674802cad2f5db45a195b878a9bd05993b3d7 已通过
edcbd8b9c6da
退休以下软件可替代的直接 Tile 操作:
TQUANT / TDEQUANT
THISTOGRAM
TSORT / TMRGSORT
TCONCAT / TEXTRACT / TINSERT
但 TileOP API linx@f8fb8943a9f4d469c2ecd95c24086e158e63cbd8
仍把这些 C++ API 直接 lower 成旧 BSTART.TEPL selector。这样生成的 ELF
不再属于当前 PTO-SPEC 接受的指令集合。
代码证据
include/jcore/template_asm.hpp 当前仍包含:
THISTOGRAM -> BSTART.TEPL 104
TCONCAT -> BSTART.TEPL 96
TEXTRACT -> BSTART.TEPL 98
TINSERT -> BSTART.TEPL 99
TQUANT -> BSTART.TEPL 106
TDEQUANT -> BSTART.TEPL 107
TSORT -> BSTART.TEPL 108
TMRGSORT -> BSTART.TEPL 109
示例复核命令:
rg -n 'BSTART\.TEPL (96|98|99|104|106|107|108|109)' include/jcore/template_asm.hpp
根因分类
这是 TileOP API lowering 与 PTO 指令目录不同步,不是模型应通过放宽检查兼容的旧 ISA。
高层 C++ API 名称可以作为便利接口继续存在,但不能继续生成已退休的直接 selector。
建议 owner
- TileOP API
include/jcore/template_asm.hpp / lowering 维护者
- 与 SuperScalarModel ISA decode、SuperNPUBench corpus 维护者联动
最小修复方向
- 对仍有价值的高层 API,改成 PTO-SPEC 指定的基础操作软件序列。
- 暂无可审计替代序列的接口,编译期 fail-closed,并给出迁移诊断。
- 不要在 LLVM 或模型中重新启用已退休 selector 来维持旧 ELF。
- 更新文档,区分“高层便利 API”与“直接 PTO 指令”。
验收条件
- 编译每个受影响 API 的最小样例并反汇编;不得出现上述退休 selector。
- 增加 source/assembly guard,防止这些
BSTART.TEPL 直接形式回归。
make check 完整通过,而不只是 template_asm.hpp 的两个 contract tests。
- 用新 API 重建对应 SuperNPUBench 用例,并由 gfrun/gfsim 对同一 ELF 做结果验证。
关联:
问题概述
PTO-SPEC
main@c71674802cad2f5db45a195b878a9bd05993b3d7已通过edcbd8b9c6da退休以下软件可替代的直接 Tile 操作:
TQUANT/TDEQUANTTHISTOGRAMTSORT/TMRGSORTTCONCAT/TEXTRACT/TINSERT但 TileOP API
linx@f8fb8943a9f4d469c2ecd95c24086e158e63cbd8仍把这些 C++ API 直接 lower 成旧
BSTART.TEPLselector。这样生成的 ELF不再属于当前 PTO-SPEC 接受的指令集合。
代码证据
include/jcore/template_asm.hpp当前仍包含:示例复核命令:
rg -n 'BSTART\.TEPL (96|98|99|104|106|107|108|109)' include/jcore/template_asm.hpp根因分类
这是 TileOP API lowering 与 PTO 指令目录不同步,不是模型应通过放宽检查兼容的旧 ISA。
高层 C++ API 名称可以作为便利接口继续存在,但不能继续生成已退休的直接 selector。
建议 owner
include/jcore/template_asm.hpp/ lowering 维护者最小修复方向
验收条件
BSTART.TEPL直接形式回归。make check完整通过,而不只是template_asm.hpp的两个 contract tests。关联: