feat(gui): ion count and CPU time run limits in Run panel#13
Open
dhanavanthesh wants to merge 2 commits into
Open
feat(gui): ion count and CPU time run limits in Run panel#13dhanavanthesh wants to merge 2 commits into
dhanavanthesh wants to merge 2 commits into
Conversation
Replace "Ions to run" spinbox from QSpinBox to QDoubleSpinBox. - Lift limit from INT_MAX (2.1B) to 2^53 (9 quadrillion) - Fix setMaxIons(int) to setMaxIons(quint64) with clamping - JSON load routes through clamp (no silent truncation) - Define kMaxExactIons constant, use in both driver and widget Closes TODO: "set limit on ion histories or time to run" (ions half). Time limit is a follow-up
- add sbMaxTime spinbox (0 = "no limit", suffix "s", step 60s)
- label as "Max CPU time (s)" engine uses CPU time, not wall time
- tooltip explains N-thread effect on wall time
- wire max_cpu_time_ through all 6 paths in mcdriverobj.cpp
- sim stops when either ion count or time limit is reached
Closes TODO: "set limit on ion histories or time to un"
Contributor
Author
|
@gapost ready for review. Check whenever you get a chance. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The "Ions to run" spinbox maxes out at INT_MAX (~2.1B). Load a config with
max_no_ions = 5000000000and it silently stores garbage. Type mismatch between int setter and size_t storage.The config has
max_cpu_timeand the engine uses it, but there's no GUI field. Users have to edit JSON by hand.This PR lifts the ion ceiling to 2^53 and adds a "Max CPU time (s)" spinbox.
Changes
Note: Ion count capped at 2^53.
QDoubleSpinBoxuses double internally, values above 2^53 lose integer precision. Full quint64 range needs a custom text input widget.Tested
Ion count
CPU time
Closes TODO: "set limit on ion histories or time to run"