Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control parallelization of fixed step solvers #81

Open
brosand opened this issue Jan 20, 2022 · 1 comment
Open

Control parallelization of fixed step solvers #81

brosand opened this issue Jan 20, 2022 · 1 comment
Labels
Changelog: New Feature Include in the "Added" section of the changelog enhancement New feature or request

Comments

@brosand
Copy link
Contributor

brosand commented Jan 20, 2022

What is the expected behavior?

When a parallel solver is used, the solver attempts to parallelize over every single time step that is being solved. As a result, these parallel solvers use massive amounts of memory. In order to enable these solvers to be used at higher dimensions, or over longer time periods, some functionality should be added which limits how many steps are parallelized at once.

A couple different ways to do this:

  • Have the user manually input how many steps to parallelize over -- fast solution but less user-friendly as it requires a lot of minute control, may be a good initial solve
  • Have the user input how much memory they have available and then have a heuristic to choose parallelization based on that -- users must note that other parts of dynamics may use additional memory, and it may be hard to calculate exactly how much memory the parallel solver uses
  • Fully automate the process based on some internal Jax memory limits
@brosand brosand added the enhancement New feature or request label Jan 20, 2022
@DanPuzzuoli
Copy link
Collaborator

To add to the main comment: The parallel solver looping structure is implemented in the function fixed_step_lmde_solver_parallel_template_jax, in the solvers/fixed_step_solvers.py file.

@DanPuzzuoli DanPuzzuoli added the Changelog: New Feature Include in the "Added" section of the changelog label Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: New Feature Include in the "Added" section of the changelog enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants