CostModel 后端说明(打桩 stub / 拟合 fit)¶
本文档说明仓库内 CostModel 的两类后端:打桩(stub)与拟合(fit)。
总览¶
CostModel 路径通过 __COSTMODEL 使能,当前后端分为:
stub:基础 CostModel 指令行为与覆盖验证路径fit:基于公式拟合的时延预测路径
当前测试套件命名与后端术语映射:
st=>stubst_fit=>fit
对应目录:
tests/costmodel/st/tests/costmodel/st_fit/
代码映射¶
- CostModel 通用入口与类型:
include/pto/costmodel/pto_instr.hpp(打桩使用)include/pto/costmodel/lightweight_costmodel.hpp(拟合使用)- fit 公式后端实现:
include/pto/costmodel/a2a3/formula_costmodel/formula_backend_compute.hppinclude/pto/costmodel/a2a3/formula_costmodel/formula_backend_transfer.hpp
打桩后端(stub,基础路径)¶
- CMake 工程:
tests/costmodel/st/CMakeLists.txt - 重点:
- 指令级 CostModel 结果验证
- 支持算子的基础行为检查
拟合后端(fit)¶
- CMake 工程:
tests/costmodel/st_fit/CMakeLists.txt - 重点:
- 基于参数公式的 cycles/latency 估算
- 运行时配置对结果影响的验证(频率、带宽、搬运路径)
公式参数生成¶
执行拟合后端(st_fit 套件)时,运行脚本会从 CSV 生成公式参数头文件:
- 生成脚本:
include/pto/costmodel/a2a3/formula_costmodel/gen_formula_params_header.py - 输入文件:
include/pto/costmodel/a2a3/formula_costmodel/formula_params.csv - 输出文件:
include/pto/costmodel/a2a3/formula_costmodel/formula_params_generated.hpp
打桩后端(st)不需要该生成步骤。
运行命令¶
单套件/单用例:
python3 tests/run_costmodel.py --suite st --testcase tadd --clean --verbose
python3 tests/run_costmodel.py --suite st_fit --testcase time_predict --clean --verbose
批量执行(自动覆盖 st + st_fit):
bash tests/run_costmodel_tests.sh