trixi-framework / trixi-framework/Trixi.jl
MPI: MPI array type for dispatch
- Dominant language
- Julia
- Stars
- 731
- Forks
- 166
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 25
Description
I think it might be good to implement a lightweight MPI array type wrapping a standard array. Then, we can dispatch on the MPI array type to distinguish parallel from serial runs (and we need to pass the coefficients anyway). Moreover, this allows us to redirect broadcasting etc. to the parent array and overload reductions to make use of MPI. In this way, we can also use error-based time step control from OrdinaryDiffEq.jl etc.
We may look at
- https://github.com/CliMA/ClimateMachine.jl/blob/master/src/Arrays/MPIStateArrays.jl
- https://github.com/fverdugo/PartitionedArrays.jl
- https://github.com/jipolanco/PencilArrays.jl
- https://github.com/barche/MPIArrays.jl
Contributor guide
Assessment
This issue has not been assessed yet.