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

Expand parallel processing interface options #985

Merged
merged 7 commits into from
Sep 27, 2024

Conversation

misi9170
Copy link
Collaborator

@misi9170 misi9170 commented Sep 26, 2024

Extends from existing interface options, currently just "multiprocessing", to include:

  • "pathos"
  • "concurrent"
  • "mpi4py"

I've left mpi4py out for now, as this is more complex and quite possibly unnecessary at this level of the code.

@misi9170
Copy link
Collaborator Author

To keep the ball rolling here, I'm going to merge this PR as is and we'll have a proper review process when we merge parallel-model-rework into develop.

@misi9170 misi9170 merged commit 9e2de6e into NREL:parallel-model-rework Sep 27, 2024
1 of 8 checks passed
@misi9170 misi9170 deleted the pmr/pm-speed branch September 27, 2024 19:28
misi9170 added a commit that referenced this pull request Oct 7, 2024
* Initial work on a consistent parallel FLORIS model (#977)

* Copy for easier comparison and development.

* temp commit to save progress.

* Starting to build out new ParallelFlorisModel (name not yet fixed).

* Begin building tests.

* Cleanup and formatting.

* Now able to use run() in parallel.

* Switch to hidden _get_turbine_powers.

* Add backcompatibility with existing parallel model; print timings; add powers_only option.

* Example comparing timing.

* Formatting fixes.

* Test for return_turbine_powers_only flag.

* Backcompatibility in configuration.

* Appears there is no saving in calling run() twice---all overhead occurs again.

* Fix type hints; default for n_wind_condition_splits; remove mistakenly committed yaw optimization function.

* Tests for WindData objects; remove related comment.

* Tests control setpoints (and add bugfix). Also limit number of workers for testing.

* Update UncertainFlorisModel to work with new Parallel framework (#983)

* Update uncertain floris model to accept par floris

* Raise an error in old parallel floris model blocking passing in uncertain floris model

* Add an example of parallelized uncertain floris

* Expand parallel processing interface options (#985)

* Update example to profile more fully.

* Handling for pathos parallel processing package; comparison example to multiprocessing.

* Add test for pathos interface.

* Add concurrent handling.

* minor doc updates.

* add pathos requirement

* Clean up of new ParFlorisModel class (#986)

* Update example to profile more fully.

* Handling for pathos parallel processing package; comparison example to multiprocessing.

* Add test for pathos interface.

* Add concurrent handling.

* minor doc updates.

* add pathos requirement

* Change name to ParFlorisModel throughout.

* Add deprecation warning for ParallelFlorisModel.

* Add import; isort.

* Update example to use ParFlorisModel.

* Update tests; formatting.

* Fix uncertain-parallel example; add uncertain-parallel test.

* Update example docstring.

* Remove temporary examples from repository.

* Add examples and documentation for ParFlorisModel (#990)

* Add short docstring

* Minor comment change.

* Add approx model to docs

* A couple of rewordings and update to initial paragraph.

---------

Co-authored-by: paulf81 <[email protected]>
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