在单次 Jacobian 构建内按完整输入精确复用储气物性、PH 反算、密度和管路求根结果,保持原有求值副作用、差分政策与失败回退。八路模型求解 CPU 中位数减少 19.27%,循环和不循环的完整原始采样均与恢复基线一致。 增加独立的跨平台时间剖析工具,记录互斥阶段耗时、Newton/LU 统计、矩阵复用与内核复用,保存 UD00 两种工况的调查报告和机器可读汇总。 补充 Windows/Linux 运行、测试、原生编译和剖析所需依赖文档及索引,不修改依赖清单、版本锁或安装环境。 验证:8 项新增专项回归通过;2270 次完整 Jacobian 核对零差异;16 次剖析配对及预热运行保持完整数值一致。既有固定样本哈希失败和 Linux 实机验收限制见报告。
465 lines
15 KiB
JSON
465 lines
15 KiB
JSON
{
|
|
"scope": "Native worker: model initialization through result encoding and cleanup. Excludes build, process launch, API and browser. Error estimation remains inside CVODE controller. Dense LU has no symbolic factorization. Explicit Newton uses the same library implementation.",
|
|
"cases": [
|
|
{
|
|
"name": "noncyclic",
|
|
"meanTotalSeconds": 7.6562506666667405,
|
|
"phases": {
|
|
"residual_evaluation": {
|
|
"seconds": 2.0878067666756883,
|
|
"percent": 27.269310496395295
|
|
},
|
|
"jacobian_assembly": {
|
|
"seconds": 2.739998700024747,
|
|
"percent": 35.78773500656092
|
|
},
|
|
"numerical_factorization": {
|
|
"seconds": 0.23652539999102373,
|
|
"percent": 3.089311077820268
|
|
},
|
|
"linear_solve": {
|
|
"seconds": 0.17955199999232718,
|
|
"percent": 2.3451687752864254
|
|
},
|
|
"linear_system_setup_other": {
|
|
"seconds": 0.10677826666005785,
|
|
"percent": 1.3946547900389645
|
|
},
|
|
"newton_overhead": {
|
|
"seconds": 0.012538333336427362,
|
|
"percent": 0.16376597217507388
|
|
},
|
|
"cvode_controller_including_error_estimation": {
|
|
"seconds": 0.021977399989888607,
|
|
"percent": 0.28705172997499034
|
|
},
|
|
"event_detection": {
|
|
"seconds": 0.001956633334733245,
|
|
"percent": 0.025556025003882137
|
|
},
|
|
"accepted_property_checks": {
|
|
"seconds": 1.1713370666645158,
|
|
"percent": 15.29909504875804
|
|
},
|
|
"sampling_and_storage": {
|
|
"seconds": 0.0096981666655059,
|
|
"percent": 0.12666992092786503
|
|
},
|
|
"output_replay": {
|
|
"seconds": 0.2987757666667979,
|
|
"percent": 3.9023770207470787
|
|
},
|
|
"result_encoding": {
|
|
"seconds": 0.777298566666559,
|
|
"percent": 10.152470190803813
|
|
},
|
|
"poll_and_progress": {
|
|
"seconds": 0.006268433334904937,
|
|
"percent": 0.0818734078573996
|
|
},
|
|
"framework_other": {
|
|
"seconds": 0.005739166663564295,
|
|
"percent": 0.0749605376499895
|
|
}
|
|
},
|
|
"meanScopes": {
|
|
"total": {
|
|
"inclusiveSeconds": 7.6562506666667405,
|
|
"exclusiveSeconds": 0.00013766666703910838
|
|
},
|
|
"integration": {
|
|
"inclusiveSeconds": 6.578948899999887,
|
|
"exclusiveSeconds": 0.005601499996525187
|
|
},
|
|
"cvode_controller": {
|
|
"inclusiveSeconds": 5.389218199991167,
|
|
"exclusiveSeconds": 0.021977399989888607
|
|
},
|
|
"rhs": {
|
|
"inclusiveSeconds": 2.0841626000111924,
|
|
"exclusiveSeconds": 2.082771766674341
|
|
},
|
|
"nonlinear_residual": {
|
|
"inclusiveSeconds": 2.0881416333457614,
|
|
"exclusiveSeconds": 0.005035000001347119
|
|
},
|
|
"jacobian": {
|
|
"inclusiveSeconds": 2.7426492000089033,
|
|
"exclusiveSeconds": 0.02242556667806639
|
|
},
|
|
"jacobian_probe": {
|
|
"inclusiveSeconds": 2.720223633330837,
|
|
"exclusiveSeconds": 2.7175731333466806
|
|
},
|
|
"linear_setup": {
|
|
"inclusiveSeconds": 3.085952866659985,
|
|
"exclusiveSeconds": 0.10677826666005785
|
|
},
|
|
"numerical_factorization": {
|
|
"inclusiveSeconds": 0.23652539999102373,
|
|
"exclusiveSeconds": 0.23652539999102373
|
|
},
|
|
"linear_solve": {
|
|
"inclusiveSeconds": 0.17955199999232718,
|
|
"exclusiveSeconds": 0.17955199999232718
|
|
},
|
|
"newton": {
|
|
"inclusiveSeconds": 5.366184833334501,
|
|
"exclusiveSeconds": 0.012538333336427362
|
|
},
|
|
"event_detection": {
|
|
"inclusiveSeconds": 1.181901733331415,
|
|
"exclusiveSeconds": 0.001956633334733245
|
|
},
|
|
"accepted_property_checks": {
|
|
"inclusiveSeconds": 1.1713370666645158,
|
|
"exclusiveSeconds": 1.1713370666645158
|
|
},
|
|
"sampling": {
|
|
"inclusiveSeconds": 0.00887103333207051,
|
|
"exclusiveSeconds": 0.0008239000012508768
|
|
},
|
|
"append": {
|
|
"inclusiveSeconds": 0.008658133330906518,
|
|
"exclusiveSeconds": 0.000971733330970892
|
|
},
|
|
"flush": {
|
|
"inclusiveSeconds": 0.007902533333284131,
|
|
"exclusiveSeconds": 0.007902533333284131
|
|
},
|
|
"output_replay": {
|
|
"inclusiveSeconds": 0.2987757666667979,
|
|
"exclusiveSeconds": 0.2987757666667979
|
|
},
|
|
"result_encoding": {
|
|
"inclusiveSeconds": 1.076074333333357,
|
|
"exclusiveSeconds": 0.777298566666559
|
|
},
|
|
"poll": {
|
|
"inclusiveSeconds": 0.006268433334904937,
|
|
"exclusiveSeconds": 0.006268433334904937
|
|
}
|
|
},
|
|
"symbolic_factorization": {
|
|
"seconds": 0,
|
|
"status": "not applicable: dense LU"
|
|
},
|
|
"error_estimation": {
|
|
"seconds": null,
|
|
"status": "included in cvode_controller_including_error_estimation"
|
|
},
|
|
"counters": {
|
|
"accepted_steps": 11006,
|
|
"residual_evaluations": 20048,
|
|
"linear_rhs_evaluations": 0,
|
|
"jacobian_evaluations": 1073,
|
|
"linear_setups": 3287,
|
|
"error_test_failures": 884,
|
|
"newton_iterations": 20037,
|
|
"newton_failures": 978,
|
|
"nonlinear_step_failures": 179,
|
|
"counter_segments": 5,
|
|
"jacobian_reuses": 2214,
|
|
"jacobian_refresh_setups": 1073,
|
|
"linear_setup_failures": 0,
|
|
"LU_factorization_failures": 0,
|
|
"LU_solve_failures": 0,
|
|
"event_model_evaluations": 0,
|
|
"scheduled_boundary_count": 3,
|
|
"rejected_steps": 1063,
|
|
"application_accepted_steps": 11006,
|
|
"same_time_returns": 0,
|
|
"max_same_time_streak": 0,
|
|
"nonlinear_residual_calls": 20037,
|
|
"jacobian_probe_evaluations": 30044,
|
|
"LU_factorizations": 3287,
|
|
"LU_solves": 20037,
|
|
"newton_solve_calls": 12069,
|
|
"event_count": 1,
|
|
"event_detection_calls": 11006,
|
|
"solver_starts": 5,
|
|
"all_counted_model_evaluations": 50092,
|
|
"accepted_property_checks": 11007,
|
|
"sample_count": 2172,
|
|
"jacobian_kernel_reuse": {
|
|
"gasEvaluations": 180304,
|
|
"gasReuses": 1502160,
|
|
"phEvaluations": 105403,
|
|
"phReuses": 732566,
|
|
"densityEvaluations": 531697,
|
|
"densityReuses": 2979837,
|
|
"pipeEvaluations": 235272,
|
|
"pipeReuses": 1063254
|
|
}
|
|
},
|
|
"medians": {
|
|
"control": {
|
|
"solveSeconds": 6.583620599999904,
|
|
"solveCpuSeconds": 6.59375,
|
|
"processWallSeconds": 7.7777962999998635
|
|
},
|
|
"profiled": {
|
|
"solveSeconds": 6.638836199999787,
|
|
"solveCpuSeconds": 6.6875,
|
|
"processWallSeconds": 7.830034699999942
|
|
}
|
|
},
|
|
"observedOverheadPercent": {
|
|
"solveSeconds": 0.8386813784482694,
|
|
"solveCpuSeconds": 1.4218009478673022,
|
|
"processWallSeconds": 0.671634971978885
|
|
},
|
|
"allRunsFullParity": true,
|
|
"samples": 3
|
|
},
|
|
{
|
|
"name": "cyclic",
|
|
"meanTotalSeconds": 9.711948900000152,
|
|
"phases": {
|
|
"residual_evaluation": {
|
|
"seconds": 2.8323357333368526,
|
|
"percent": 29.163412642511005
|
|
},
|
|
"jacobian_assembly": {
|
|
"seconds": 3.431086966648157,
|
|
"percent": 35.32851132122517
|
|
},
|
|
"numerical_factorization": {
|
|
"seconds": 0.3293585666582051,
|
|
"percent": 3.391271618595521
|
|
},
|
|
"linear_solve": {
|
|
"seconds": 0.24083636668046893,
|
|
"percent": 2.479794417786374
|
|
},
|
|
"linear_system_setup_other": {
|
|
"seconds": 0.14310710000260465,
|
|
"percent": 1.4735157842789146
|
|
},
|
|
"newton_overhead": {
|
|
"seconds": 0.01622606665841886,
|
|
"percent": 0.1670732293331836
|
|
},
|
|
"cvode_controller_including_error_estimation": {
|
|
"seconds": 0.028731599965188554,
|
|
"percent": 0.2958376352782097
|
|
},
|
|
"event_detection": {
|
|
"seconds": 0.002641499996722511,
|
|
"percent": 0.02719845443917512
|
|
},
|
|
"accepted_property_checks": {
|
|
"seconds": 1.6209957666577186,
|
|
"percent": 16.69073615757691
|
|
},
|
|
"sampling_and_storage": {
|
|
"seconds": 0.009674700005386208,
|
|
"percent": 0.09961646323516032
|
|
},
|
|
"output_replay": {
|
|
"seconds": 0.29708673333334445,
|
|
"percent": 3.058981635841801
|
|
},
|
|
"result_encoding": {
|
|
"seconds": 0.7434664000000643,
|
|
"percent": 7.655172073650971
|
|
},
|
|
"poll_and_progress": {
|
|
"seconds": 0.008574800045759426,
|
|
"percent": 0.0882912393181897
|
|
},
|
|
"framework_other": {
|
|
"seconds": 0.007826600011261084,
|
|
"percent": 0.08058732692941743
|
|
}
|
|
},
|
|
"meanScopes": {
|
|
"total": {
|
|
"inclusiveSeconds": 9.711948900000152,
|
|
"exclusiveSeconds": 0.00014803333336506816
|
|
},
|
|
"integration": {
|
|
"inclusiveSeconds": 8.670142566666678,
|
|
"exclusiveSeconds": 0.007678566677896015
|
|
},
|
|
"cvode_controller": {
|
|
"inclusiveSeconds": 7.026683966654825,
|
|
"exclusiveSeconds": 0.028731599965188554
|
|
},
|
|
"rhs": {
|
|
"inclusiveSeconds": 2.8279145666924705,
|
|
"exclusiveSeconds": 2.825953500006411
|
|
},
|
|
"nonlinear_residual": {
|
|
"inclusiveSeconds": 2.832391033356089,
|
|
"exclusiveSeconds": 0.006382233330441522
|
|
},
|
|
"jacobian": {
|
|
"inclusiveSeconds": 3.4341274666670265,
|
|
"exclusiveSeconds": 0.027501033304664208
|
|
},
|
|
"jacobian_probe": {
|
|
"inclusiveSeconds": 3.406626433362362,
|
|
"exclusiveSeconds": 3.403585933343493
|
|
},
|
|
"linear_setup": {
|
|
"inclusiveSeconds": 3.9065931333278363,
|
|
"exclusiveSeconds": 0.14310710000260465
|
|
},
|
|
"numerical_factorization": {
|
|
"inclusiveSeconds": 0.3293585666582051,
|
|
"exclusiveSeconds": 0.3293585666582051
|
|
},
|
|
"linear_solve": {
|
|
"inclusiveSeconds": 0.24083636668046893,
|
|
"exclusiveSeconds": 0.24083636668046893
|
|
},
|
|
"newton": {
|
|
"inclusiveSeconds": 6.9960466000228125,
|
|
"exclusiveSeconds": 0.01622606665841886
|
|
},
|
|
"event_detection": {
|
|
"inclusiveSeconds": 1.632206199992955,
|
|
"exclusiveSeconds": 0.002641499996722511
|
|
},
|
|
"accepted_property_checks": {
|
|
"inclusiveSeconds": 1.6209957666577186,
|
|
"exclusiveSeconds": 1.6209957666577186
|
|
},
|
|
"sampling": {
|
|
"inclusiveSeconds": 0.008811533338606145,
|
|
"exclusiveSeconds": 0.0008969333368137692
|
|
},
|
|
"append": {
|
|
"inclusiveSeconds": 0.008516533335447699,
|
|
"exclusiveSeconds": 0.0009090666676456749
|
|
},
|
|
"flush": {
|
|
"inclusiveSeconds": 0.007868700000926765,
|
|
"exclusiveSeconds": 0.007868700000926765
|
|
},
|
|
"output_replay": {
|
|
"inclusiveSeconds": 0.29708673333334445,
|
|
"exclusiveSeconds": 0.29708673333334445
|
|
},
|
|
"result_encoding": {
|
|
"inclusiveSeconds": 1.0405531333334086,
|
|
"exclusiveSeconds": 0.7434664000000643
|
|
},
|
|
"poll": {
|
|
"inclusiveSeconds": 0.008574800045759426,
|
|
"exclusiveSeconds": 0.008574800045759426
|
|
}
|
|
},
|
|
"symbolic_factorization": {
|
|
"seconds": 0,
|
|
"status": "not applicable: dense LU"
|
|
},
|
|
"error_estimation": {
|
|
"seconds": null,
|
|
"status": "included in cvode_controller_including_error_estimation"
|
|
},
|
|
"counters": {
|
|
"accepted_steps": 15733,
|
|
"residual_evaluations": 28023,
|
|
"linear_rhs_evaluations": 0,
|
|
"jacobian_evaluations": 1374,
|
|
"linear_setups": 4700,
|
|
"error_test_failures": 1334,
|
|
"newton_iterations": 28003,
|
|
"newton_failures": 1218,
|
|
"nonlinear_step_failures": 229,
|
|
"counter_segments": 10,
|
|
"jacobian_reuses": 3326,
|
|
"jacobian_refresh_setups": 1374,
|
|
"linear_setup_failures": 0,
|
|
"LU_factorization_failures": 0,
|
|
"LU_solve_failures": 0,
|
|
"event_model_evaluations": 0,
|
|
"scheduled_boundary_count": 5,
|
|
"rejected_steps": 1563,
|
|
"application_accepted_steps": 15731,
|
|
"same_time_returns": 2,
|
|
"max_same_time_streak": 1,
|
|
"nonlinear_residual_calls": 28003,
|
|
"jacobian_probe_evaluations": 38472,
|
|
"LU_factorizations": 4700,
|
|
"LU_solves": 28003,
|
|
"newton_solve_calls": 17296,
|
|
"event_count": 4,
|
|
"event_detection_calls": 15731,
|
|
"solver_starts": 10,
|
|
"all_counted_model_evaluations": 66495,
|
|
"accepted_property_checks": 15732,
|
|
"sample_count": 2175,
|
|
"jacobian_kernel_reuse": {
|
|
"gasEvaluations": 230872,
|
|
"gasReuses": 1923560,
|
|
"phEvaluations": 136587,
|
|
"phReuses": 940359,
|
|
"densityEvaluations": 685389,
|
|
"densityReuses": 3819723,
|
|
"pipeEvaluations": 301626,
|
|
"pipeReuses": 1368464
|
|
}
|
|
},
|
|
"medians": {
|
|
"control": {
|
|
"solveSeconds": 8.631554299999607,
|
|
"solveCpuSeconds": 8.65625,
|
|
"processWallSeconds": 9.813595800000257
|
|
},
|
|
"profiled": {
|
|
"solveSeconds": 8.620837400000255,
|
|
"solveCpuSeconds": 8.640625,
|
|
"processWallSeconds": 9.760674299999664
|
|
}
|
|
},
|
|
"observedOverheadPercent": {
|
|
"solveSeconds": -0.12415956184568255,
|
|
"solveCpuSeconds": -0.18050541516245744,
|
|
"processWallSeconds": -0.5392671664813387
|
|
},
|
|
"allRunsFullParity": true,
|
|
"samples": 3
|
|
}
|
|
],
|
|
"evidence": {
|
|
"revision": "2b07d996cff295d9f401dd32edd10472238bdf2d",
|
|
"compiler": "gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0",
|
|
"platform": "win32",
|
|
"stop": 21.7,
|
|
"settings": {
|
|
"method": "BDF",
|
|
"start": 0,
|
|
"sample_step": 0.01,
|
|
"rtol": 1e-08,
|
|
"max_step": 1e+30
|
|
},
|
|
"directionOneStash": "06b161c309644bb01aa402ff79f34749ff8e889a",
|
|
"normalSourcesUnchanged": true,
|
|
"generatedModelIdentical": true,
|
|
"runsWithFullParity": 16,
|
|
"repeats": 3,
|
|
"warmups": 1,
|
|
"builds": [
|
|
{
|
|
"name": "noncyclic",
|
|
"ud00Count": 2,
|
|
"buildKey": "7fe268c97557c3e1c5a511ea5e28cf0f0479a087031abe1a38d7007dde3c4ca0",
|
|
"inputSha256": "f16fc251c10073a4155b56060625e622d81cbc141779dc52fa44746ae8654b5b",
|
|
"controlSha256": "ee51ac31f625391ede4457d909968dae856471e66f19f1ae6d614a0735dc20d6",
|
|
"profiledSha256": "06c56f6963e7e3ea6930b1fc1f832231b97eb9feb231d60a3b0bed5b8d28fd01"
|
|
},
|
|
{
|
|
"name": "cyclic",
|
|
"ud00Count": 2,
|
|
"buildKey": "a50f302b77a49d1aa28a4ee305239a36e8c9281ecdc93756b729183b8f1e0a0a",
|
|
"inputSha256": "38189b2d3608ca8dfc2691dd8e60b634de499b8d7c35f94ea1a3e72e9b58eae3",
|
|
"controlSha256": "02041b6b16a2aca2d26f3ef727d995e67595ff094387615f66e8b7f759626f3d",
|
|
"profiledSha256": "705948a62df23999084223e8e96269b65741de3f913c731041f42eecaaa8de27"
|
|
}
|
|
]
|
|
}
|
|
}
|