src/LinSys/Solver.C file

Charm++ chare linear system merger group to solve a linear system.

Contents

Charm++ chare linear system merger group used to collect and assemble the left hand side matrix (lhs), the right hand side (rhs) vector, and the solution (unknown) vector from individual worker chares. Beside collection and assembly, the system is also solved. The solution is outsourced to hypre, an MPI-only library. Once the solution is available, the individual worker chares are updated with the new solution.

The implementation uses the Charm++ runtime system and is fully asynchronous, overlapping computation and communication. The algorithm utilizes the structured dagger (SDAG) Charm++ functionality. The high-level overview of the algorithm structure and how it interfaces with Charm++ is discussed in the Charm++ interface file src/LinSys/solver.ci. See also src/LinSys/Solver.h for a discussion of the asynchronous call logic.

Namespaces

namespace tk
Toolkit declarations and definitions for general purpose utilities.