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.


Article metrics loading...

Loading full text...

Full text loading...

This is a required field
Please enter a valid email address
Approval was a Success
Invalid data
An Error Occurred
Approval was partially successful, following selected items could not be processed due to error