Add support for batching and parallelization#15
Merged
PardhavMaradani merged 3 commits intoJun 26, 2026
Merged
Conversation
- Add batching support for analysis widgets - `BufferedTrajectory` wrapper for existing trajectory reader - Negative indexing to access last n timesteps in deque buffer - Added `run_per_frame` and `run_batch` handlers - Add parallelization support for analysis widgets - Run parallel jobs using joblib.Parallel in separate thread - Dynamically patch `IMDReader` to support serialization - Added `get_parallel_job` and `apply_parallel_results` handlers - Update ROG to support both `per-frame` and `batch` run frequencies - Update ROG to support both `serial` and `parallel` run modes - Use `calc_bonds` and `center_of_mass` with unwrap for COM distance - Move execute code support to use `run_cell` directly in core - Fix future resolve only for `comm_msg` message types - Test for all new backend and frontend functionality - Added docs for all new methods and classes
Documentation build overview
15 files changed ·
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
🚀 New features to boost your workflow:
|
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.
Changes made in this Pull Request:
BufferedTrajectorywrapper for existing trajectory readerrun_per_frameandrun_batchhandlersIMDReaderto support serializationget_parallel_jobandapply_parallel_resultshandlersper-frameandbatchrun frequenciesserialandparallelrun modescalc_bondsandcenter_of_masswith unwrap for COM distancerun_celldirectly in corecomm_msgmessage typesPR Checklist
Hi @orbeckst, @jeremyleung521, @amruthesht, @HeydenLabASU,
This PR adds support for batching and parallelization of analysis widgets.
The existing
ROGwidget has been updated to support bothper-frameandbatchrun frequencies along withserialandparallelrun modes. All of these can also be changed dynamically at runtime as well.Here is a screenshot of ROG running in all the different configurations:
ROG support both the run frequencies (
per-frame/batch) and is configurable as shown below:It also support both the run modes (
serial/parallel) and is configurable as shown below:The batch size is configurable under 'Universe Configuration' in Settings as shown below:
The number of parallel jobs is also configurable under 'Dashboard Configuration' in Settings as shown below:
Changes to the number of parallel jobs is dynamic and can be updated at runtime while the simulation is running.
Thanks