Files
SystemSimulationApp/tests/manual/local_probe_profile.md
T
ljz 7611f13208 修复循环信号与事件采样并接入 LSTP 接触定位,补充八路验证及复用实验
相较上一版 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 通过。
2026-09-17 23:50:13 +08:00

35 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**局部 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`,
用于保留计时方法改进的证据,不与最终主样本混用。