相较上一版 Jacobian 确定性复用更新,本次补齐事件边界一致性、结果两侧采样及接触事件定位;保留已有物性复用和组件力学公式。 - 统一 UD00 信号求值与下一事件查询的绝对时间边界,修复循环边界浮点舍入导致的阶段错位、重复或漏报,并覆盖零时长、多阶段及长周期场景。 - 引入原生输出语义 v2:保留规则网格真实时间,补充内部时间事件和状态事件的左邻及事件后采样,按保存时间、状态和离散模式重放结果。 - 两条代码生成路径均发出 LSTP 接触描述,默认定位间隙过零及非负力模式的力截断;仅在接受事件时更新防重复记录,增加 contactEvents 诊断计数。 - 补充 MASS/LSTP 独立事件实验、八路全曲线与驱动阶段配对评估,以及 Amesim 不连续点输出对照和力差定位报告;MASS 新增释放机制仍保留为独立实验。 - 保存局部 probe、context 访问与回退、shadow replay、R288 real skip/typed replay 及阀门数值尾部诊断工具和报告;未证明净收益的实验不启用为生产默认优化。 - 更新原生运行说明和元件建模规范,补充信号边界、输出语义、接触事件和实验依赖回归测试。 验证:五组专项回归共 34 项全部通过;37 个待提交 Python 文件语法检查通过;git diff --cached --check 通过。
35 lines
2.4 KiB
Markdown
35 lines
2.4 KiB
Markdown
**局部 probe 的独立诊断计时工具**
|
||
|
||
本工具只读取上一轮 `test/local-probe-20260917/worker`,在
|
||
`test/local-probe-profile-direct-20260917` 构建带计时副本的独立 worker。
|
||
不编辑旧实验实现或生产文件,不改变求解容差、物性算法或执行范围。
|
||
仅适用于本次已核验的132状态、27组、484个schedule操作的八路模型。
|
||
|
||
```powershell
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py prepare
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py run --label validate-all --stride 1 --matrices
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py batch
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py prepare --coarse
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py run --label coarse-0 --stride 1 --coarse
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py run --label coarse-1 --stride 1 --coarse
|
||
& .venv-win/Scripts/python.exe -B tests/manual/profile_local_probe.py run --label coarse-2 --stride 1 --coarse
|
||
& .venv-win/Scripts/python.exe -B tests/manual/analyze_local_probe_profile.py
|
||
```
|
||
|
||
相同label会覆盖同名诊断运行。请串行测量,期间不要并行编译或运行其他仿真。
|
||
完整数值核验保留所有矩阵;主性能测量不保存矩阵、不做shadow求值。
|
||
每个run都会比较states/outputs/events、warning、求解器计数以及context保护计数。
|
||
|
||
正常callback走未改写的原函数;分层随机抽中的callback才进入细分计时副本。
|
||
粗粒度worker进入原模型函数,只测完整baseline/probe及Jacobian外层。
|
||
分类定义、全部27组均值、原始/扣空标记值和测量误差见生成的report.md;
|
||
每组全部分类数据见comparison.json的main.rows[group+2]。
|
||
|
||
外层时钟为QPC,内部使用带lfence的invariant TSC,以整轮QPC/TSC读数校准频率。
|
||
内部计数桶逐tick闭合;内外计时边界差单独归入outer other。
|
||
扣空标记只是估计,不能去除计时屏障、编译布局与缓存造成的间接扰动。
|
||
本次估计总量仍高于未插桩约7%,小group的偏差更大;不得把细分百分比
|
||
直接用作优化收益承诺。原QPC记录版及TSC记录版分别保存在
|
||
`test/local-probe-profile-20260917`、`test/local-probe-profile-tsc-20260917`,
|
||
用于保留计时方法改进的证据,不与最终主样本混用。
|