Add Parallel Support for Region Variable Values - #7292
Conversation
|
I'm creating this PR in draft mode for two reasons:
I will keep the PR in a draft state until such time as it is ready for review and merging. |
7cc583e to
53336db
Compare
|
jenkins build this serial please |
There was a problem hiding this comment.
Pull request overview
Adds an MPI-aware implementation of Opm::data::RegionVariableValues to correctly aggregate per-region “increment” contributions across ranks, and wires in a new parallel unit test target to validate the behavior.
Changes:
- Introduce
Opm::ParallelRegionVariableValues(derived fromdata::RegionVariableValues) with an MPIsum()implementation ofcommunicateIncrement(). - Register the new source/header in the build system.
- Add an MPI-driven unit test executable and run it with 2/3/4 ranks.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| parallelUnitTests.cmake | Adds test_parallel_regionvariablevalues and configures MPI test runs for 2/3/4 processes. |
| opm/simulators/utils/ParallelRegionVariableValues.hpp | Declares the new MPI-aware RegionVariableValues derived type. |
| opm/simulators/utils/ParallelRegionVariableValues.cpp | Implements clone and MPI sum aggregation for increments. |
| CMakeLists_files.cmake | Adds the new class source/header to the build lists. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
I have addressed Copilot's initial review and the PR build successfully in both the default (MPI) case and in a serial/sequential configuration. I'm marking this PR as "ready for review" now. |
9371c2b to
5cc81aa
Compare
|
jenkins build this serial please |
|
jenkins build this serial please |
This commit introduces an MPI-aware version of class
Opm::data::RegionVariableValues
The primary extension to the base class is that this version
implements a non-trivial communicateIncrement() member function that
incorporates cross-rank value contributions to all variables for all
regions in all region sets. The same features and restrictions that
apply to the base class also apply to this derived type.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
5cc81aa to
042b32a
Compare
|
jenkins build this serial please |
|
PR approved and build check is green. I'll merge into master. |
This PR introduces an MPI-aware version of class
(upstream PR OPM/opm-common#5277). The primary extension to the base class is that this version implements a non-trivial
communicateIncrement()member function that incorporates cross-rank value contributions to all variables for all regions in all region sets. The same features and restrictions that apply to the base class also apply to this derived type.