PETSc ’ s Software Strategy for the Design Space of Composable Extreme-Scale Solvers

PETSc ’ s Software Strategy for the Design Space of Composable Extreme-Scale Solvers
复制标题

PETSc 针对可组合超大规模求解器设计空间的软件策略

DOI:
--
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
Hong Zhang
Hong Zhang
中科院分区:
--
文献类型:
--
作者:
Barry F. Smith;L. McInnes;E. Constantinescu;M. Adams;S. Balay;Jed Brown;M. Knepley;Hong Zhang

文献摘要

被引文献

相似文献

不断涌现的极端规模体系结构为更广泛的模拟提供了新的机会,同时也给算法和软件带来了新的挑战,以利用前所未有的并行性。可组合的分层求解器算法和精心设计的便携软件是极值模拟成功的关键,因为求解器阶段通常主导整个模拟时间。本文介绍了PETSC设计哲学和该库的最新进展,使应用科学家能够研究可组合的线性、非线性和时间步进求解器的设计空间。特别是,算法的控制逻辑与解算器的计算内核的分离对于允许注入新的特定于硬件的计算内核而不必重写整个解算器软件库是至关重要的。在这个方向上的进展已经在PETSC中开始了,对p线程、OpenMP和GPU的新支持是迈向独立于硬件的、用于计算内核的高级控制逻辑的第一步。这种用于组合极值解算器的多管齐下的软件策略将在两个重要方面帮助利用前所未有的极值计算能力:通过促进将新开发的可扩展算法和数据结构注入基本组件,以及通过为范式转换提供基础基础,该范式转换将从复杂系统的模拟提高到这些系统的设计和不确定性量化的抽象水平。
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 extremescale 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 investigate 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 injecting 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 quantification of these systems.