Skip to content

Filter the artifact run's result file - #359

Merged
sjoelund merged 1 commit into
masterfrom
artifact-variable-filter
Sep 9, 2026
Merged

Filter the artifact run's result file#359
sjoelund merged 1 commit into
masterfrom
artifact-variable-filter

Conversation

@sjoelund

@sjoelund sjoelund commented Sep 9, 2026

Copy link
Copy Markdown
Member

simulate(variableFilter=…, resimulateExecutable=…) keeps only simflags: the experiment arguments reach a model through the build, and a resimulate does not build. For the C lanes that is invisible, since the executable reads the filter from the _init.xml its own buildModel wrote, but a wasm artifact comes from buildModelFMU, which has no variableFilter argument. Every wasm-jit runner has therefore been writing every variable the model has. artifactCmd already passes the rest of the experiment as simflags for this same reason; -variableFilter was the one it missed.

Measured on the MSL 4.1.0 QuasiStatic FundamentalWave IMC_Conveyor, whose comparisonSignals.txt names three variables:

no filter -variableFilter
result file 1162 MB, 2857 4.97 MB, 3
timeSimulation 8.81 s 7.50 s
verification, 500-row reference 1.2-2.0 s 0.42 s
verification, peak RSS 2.34 GB 71 MB

Over the 10801 models both lanes verified in the latest run, master's verification column sums to 788 s and wasm-jit's to 2216 s; the tail is the Buildings EnergyPlus and Borefields models and the MSL machines examples, which is exactly where the unfiltered files are widest.

Assisted-by: Claude Opus 5 (1M context)

`simulate(variableFilter=…, resimulateExecutable=…)` keeps only
`simflags`: the experiment arguments reach a model through the build,
and a resimulate does not build. For the C lanes that is invisible,
since the executable reads the filter from the `_init.xml` its own
`buildModel` wrote, but a wasm artifact comes from `buildModelFMU`,
which has no `variableFilter` argument. Every wasm-jit runner has
therefore been writing every variable the model has. `artifactCmd`
already passes the rest of the experiment as simflags for this same
reason; `-variableFilter` was the one it missed.

Measured on the MSL 4.1.0 QuasiStatic FundamentalWave `IMC_Conveyor`,
whose comparisonSignals.txt names three variables:

|                                 | no filter     | -variableFilter |
| ------------------------------- | ------------- | --------------- |
| result file                     | 1162 MB, 2857 | 4.97 MB, 3      |
| timeSimulation                  | 8.81 s        | 7.50 s          |
| verification, 500-row reference | 1.2-2.0 s     | 0.42 s          |
| verification, peak RSS          | 2.34 GB       | 71 MB           |

Over the 10801 models both lanes verified in the latest run, master's
verification column sums to 788 s and wasm-jit's to 2216 s; the tail is
the Buildings EnergyPlus and Borefields models and the MSL machines
examples, which is exactly where the unfiltered files are widest.

Assisted-by: Claude Opus 5 (1M context)
@sjoelund
sjoelund enabled auto-merge (squash) September 9, 2026 12:33
@sjoelund
sjoelund merged commit db94a4a into master Sep 9, 2026
7 checks passed
@sjoelund
sjoelund deleted the artifact-variable-filter branch September 9, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant