Skip to content

Scripts to find badly scaling phases - #349

Merged
sjoelund merged 1 commit into
masterfrom
scaling-scripts
Sep 2, 2026
Merged

Scripts to find badly scaling phases#349
sjoelund merged 1 commit into
masterfrom
scaling-scripts

Conversation

@sjoelund

@sjoelund sjoelund commented Sep 2, 2026

Copy link
Copy Markdown
Member

scaling-extract.py reads one run of a branch from the result database (the latest of every Scalable* library by default), downloads and caches every model's .err and .sim log, and stores in a local sqlite3 file what the database does not have: omc's execStat line of every pass of the translation with its time, allocations and system size, the runtime's LOG_STATS timers and counters, the backend's model statistics and the exit status of a killed omc. A stale omdb tunnel makes it fail with a message rather than hang.

scaling-analyze.py splits each family into series that vary one name parameter, takes the backend's equation count as the size (the grids of ScalableTestGrids have N^2 equations per N), fits log-log exponents over the largest sizes and reports every phase, pass and timer that grows faster than size^1.5 and costs more than a second, the models that did not simulate, and a summary per pass.

Assisted-by: Claude Fable 5.1

scaling-extract.py reads one run of a branch from the result database
(the latest of every Scalable* library by default), downloads and
caches every model's .err and .sim log, and stores in a local sqlite3
file what the database does not have: omc's execStat line of every
pass of the translation with its time, allocations and system size,
the runtime's LOG_STATS timers and counters, the backend's model
statistics and the exit status of a killed omc. A stale omdb tunnel
makes it fail with a message rather than hang.

scaling-analyze.py splits each family into series that vary one name
parameter, takes the backend's equation count as the size (the grids
of ScalableTestGrids have N^2 equations per N), fits log-log
exponents over the largest sizes and reports every phase, pass and
timer that grows faster than size^1.5 and costs more than a second,
the models that did not simulate, and a summary per pass.

Assisted-by: Claude Fable 5.1
@sjoelund
sjoelund enabled auto-merge (squash) September 2, 2026 15:36
@sjoelund
sjoelund merged commit b35b474 into master Sep 2, 2026
7 checks passed
@sjoelund
sjoelund deleted the scaling-scripts branch September 2, 2026 16:31
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