Analysis of Sparse Matrix-vector Multiply for Large Sparse Linear Systems
M. Grossman, M. Araya-Polo, F.O. Alpak, F. Frank, J. Limbeck and V. Sarkar
Event name: ECMOR XV - 15th European Conference on the Mathematics of Oil Recovery
Session: Poster session
Publication date: 29 August 2016
Info: Extended abstract, PDF ( 905.16Kb )
Price: € 20
Discretization of the partial differential equations that govern the physics of multi-phase multi-component fluid flow and transport gives rise to large sparse linear systems for practical pore-scale simulation. In this work, we focus on a linear system arising from the discretization of the Cahn-Hilliard equation that governs the separation of a two-component mixture in the pore space. The discretization is performed using the discontinuous Galerkin method. The resulting nonlinear system is solved by use of the Newton's method, which entails multiple large sparse linear systems over Newton iterations course. The sparse linear systems are solved by use of an iterative linear solver. Iterative linear solvers approach the solution process by the computation of sparse matrix-vector (SpMV) products. SpMV products are computational bottlenecks for the simulation of large problems, since they are extremely memory bound. In this work, we contribute with a quantitative and qualitative evaluation of techniques for performing SpMV on large matrices. We evaluate different SpMV software implementations (frameworks and kernels) across a range of state-of-the-art hardware platforms. For example, we find that for a 5GB matrix wrt to a naive multi-threaded x86 baseline the highest performing GPU kernel runs 1.75x faster, and the highest performing x86 kernel runs 1.29x faster.