feat(backend): 完善课题 18 安全指令调度与 A/B Benchmark 报告 - #59
Mastttttter wants to merge 7 commits into
Conversation
🤖 AI Code Review
📁
|
Correct conservative timing and latency-sensitive scheduling, restore linear control-flow targets, improve section handling and coverage reports, and add independent CPU-model CI audits. Document review outcomes and stop tracking local session state. Validation: 901 tests passed with no skips; both CPU audit thresholds passed, with remaining negative cases retained in the report.
|
已根据第二轮 review 完成迭代,并推送到同一分支,新增提交: 本轮主要修改:
本地验证结果:
|
概述
完善课题 18 的局部指令调度器,修复汇编信息丢失、依赖遗漏和周期估算无法反映调度收益的问题。补充调度校验、编译器集成、实际执行验证及 CI Benchmark 报告。
主要改动
Benchmark 报告
参照 PR #35 的同输入 A/B 报告方式,将固定功能用例、实际编译输出和合成规模测试分别展示。
固定用例与真实执行
同一份汇编分别通过 CompilerDriver 的调度关闭和开启配置,再将前后汇编编码并使用真实 TinyFive 执行。
指标 调度前 调度后
━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━ ━━━━━━━━
源汇编指令数 4 4
───────────────────────── ──────── ────────
局部模型周期(估算) 5 4
───────────────────────── ──────── ────────
局部模型停顿(估算) 1 0
───────────────────────── ──────── ────────
编码机器指令数 4 4
───────────────────────── ──────── ────────
代码大小(字节) 16 16
───────────────────────── ──────── ────────
TinyFive 实际执行指令数 4 4
模型周期下降表示调度填补了 load-use 等待,不代表硬件实测加速。
CNN 汇编静态 A/B
对现有 CNN 编译步骤产生的同一份汇编切换调度开关,保留零收益及跳过结果。
当前 CNN 列表包含数字分支偏移,触发调度器的整份输入保留规则:
该结果用于展示当前支持范围,不声称已经完成 CNN 端到端执行验证或取得性能提升。
合成规模测试与 CI
本地验证
当前范围
调度在寄存器分配后的汇编阶段进行,仅在合法局部区域内移动指令。候选顺序必须通过校验,且在同一模型下严格减少周期才会被采用。
周期统计是局部静态估算;优化器耗时是主机执行调度 pass 的时间,两者均不作为目标程序硬件运行时间。