A multigrid tutorial: second edition
A multigrid tutorial: second edition
Parallel smoothed aggregation multigrid: aggregation strategies on massively parallel machines
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
An Introduction to Algebraic Multigrid
Computing in Science and Engineering
Bocca: a development environment for HPC components
Proceedings of the 2007 symposium on Component and framework technology in high-performance and scientific computing
Usability levels for sparse linear algebra components
Concurrency and Computation: Practice & Experience
A new approach: component-based multi-physics coupling through CCA-LISI
ICCSA'10 Proceedings of the 2010 international conference on Computational Science and Its Applications - Volume Part II
Hi-index | 0.00 |
Sparse linear system solvers account for many of the CPU cycles in scientific computing simulations. Several HPC solver packages have been created and distributed to improve efficiency. As part of the Common Component Architecture (CCA) effort, a LInear Solver Interface (LISI) is being developed among them. LISI does not supplant HPC solvers, and the goal is to make it easier for users to switch solvers per application (run-time) demands. Some highly efficient scalable system methods, such as multigrid, multipole, or hierarchical O(N) solvers, typically need more information than base LISI interface provides. The recursive features of those solvers require special care when defining software interfaces. Through subclassing LISI, a medium-level interface is designed for an application to have finer controls over an Algebraic Multigrid solver. Additionally, an interface is proposed to handle the geometric information for a Geometric Multigrid solver. For more detailed user control, a low-level interface is designed in an operator based manner. This paper presents design issues in the proposed CCA interfaces and a reference implementation for several multigrid packages. Test results show that the interface overhead is negligible while the usage complexity of the packages is reduced greatly.