PETSc's Software Strategy for the Design Space of Composable Extreme-Scale Solvers
|Title||PETSc's Software Strategy for the Design Space of Composable Extreme-Scale Solvers|
|Publication Type||Conference Paper|
|Year of Publication||2012|
|Authors||Smith, BF, McInnes, LCurfman, Constantinescu, EM, Adams, ML, Balay, S, Brown, J, Knepley, MG, Zhang, H|
|Conference Name||DOE Exascale Research Conference|
|Conference Location||Portland, OR|
Emerging extreme-scale architectures present new opportunities for broader scope of simulations as well as new challenges in algorithms and software to exploit unprecedented levels of parallelism. Composable, hierarchical solver algorithms and carefully designed portable software are crucial to the success of extreme-scale simulations, because solver phases often dominate overall simulation time. This paper presents the PETSc design philogophy and recent advances in the library that enable application scientists to investi-gate the design space of composable linear, nonlinear, and timestepping solvers. In particular, separation of the control logic of the algorithms from the computational kernels of the solvers is crucial to allow in-jecting new hardware-specific computational kernels without having to rewrite the entire solver software library. Progress in this direction has already begun in PETSc, with new support for pthreads, OpenMP,and GPUs as a first step toward hardware-independent, high-level control logic for computational kernels. This multipronged software strategy for composable extreme-scale solvers will help exploit unprecedented extreme-scale computational power in two important ways: by facilitating the injection of newly developed scalable algorithms and data structures into fundamental components, and by providing the underlying foundation for a paradigm shift that raises the level of abstraction from simulation of complex systems to the design and uncertainty quantication of these systems.