Generic implementation of parallel solvers
Currently dune-istl offers infrastructure for parallel solvers, but one still has to write a parallel operator-apply, a parallel scalar-product and potentially a parallel preconditioner.
As has been discussed a couple of times, it would be desirable to provide generic parallel solvers, based on a yet-to-be-defined communication interface.
Such generic communication could build upon
-
1. pattern based communication: per rank a links of multi-indices tell what to send and receive (prototype in PDELab, extending the approach in dune-fem) -
2. direct support for multi-indices: required to gather/scatter to/from a communication buffer (see issue #105 and a branch with a forEachIndex
implementation) -
3. partial scalar product: computing (in some way) a scalar product that avoid multiple contributions for overlap DOFs (see experiments in branch experiment/performancetest-parallel-sp-algorithms)