The solution of large sparse linear systems arises in many applications, such as computational fluid dynamics and oil reservoir simulation. In realistic cases the matrices are often so large that they require large scale distributed parallel computing to obtain the solution of interest in a reasonable time. In this paper we discuss the design and implementation of the AmgX library, which provides drop-in GPU acceleration of distributed algebraic multigrid (AMG) and preconditioned iterative methods. The AmgX library implements both classical and aggregation-based AMG methods with different selector and interpolation strategies, along with a variety of smoothers and preconditioners, including block-Jacobi, Gauss-Seidel, and incomplete-LU factorization. The library contains many of the standard and flexible preconditioned Krylov subspace iterative methods, which can be combined with any of the available multigrid methods or simpler preconditioners. The parallelism in the aggregation scheme exploits parallel graph matching techniques, while the smoothers and preconditioners often rely on parallel graph coloring algorithms. The AMG algorithm implemented in the AmgX library achieves 2-5× speedup on a single GPU against a competitive implementation on the CPU. As will be shown in the numerical experiments section, both setup and solve phases scale well across multiple nodes, sustaining this performance advantage.
TX 75083-3836, U.S.A., fax 01-972-952-9435.
AbstractOur approach for parallel multiphysics and multiscale simulation uses two levels of domain decomposition: physical and computational. First, the physical domain is decomposed into subdomains or blocks according to the geometry, geology, and physics/chemistry/biology. Each subdomain represents a single physical system, on a reasonable range of scales, such as a black oil region, a compositional region, a region to one side of a fault, or a near-wellbore region. Second, the computations are decomposed on a parallel machine for efficiency. That is, we use a multiblock or macro-hybrid approach, in which we describe a domain as a union of regions or blocks, and employ an appropriate hierarchical model on each block. This approach allows one to define grids and computations independently on each block. This local grid structure has many advantages. It allows the most efficient and accurate discretization techniques to be employed in each block. The multiblock structure of the algebraic systems allows for the design and use of efficient domain decomposition solvers and preconditioners. Decomposition into independent blocks offers great flexibility in accommodating the shape of the external boundary, the presence of internal features such as faults and wells, and the need to refine a region of the domain in space or time (by treating it as a distinct block); interfacing structured and unstructured grids; and accommodating various models of multiscale and multiphysical phenomena. The resulting grid is not suited to direct application of discretization methods. We use mortar space techniques to impose physically meaningful, mass conservative, fluxmatching conditions on the interfaces between blocks.We present numerical simulations to illustrate several of these decomposition strategies, including the coupling of IMPES and fully implicit models and upscaling by varying the number of degrees of freedom on the block interfaces.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.