Pipelining the CG Solver Over a Runtime System

Abstract : Whereas most today parallel High Performance Computing (HPC) software is written as highly tuned code taking care of low-level details, the advent of the manycore area forces the community to consider modular programming paradigms and delegate part of the work to a third party software. That latter approach has been shown to be very productive and efficient with regular algorithms, such as dense linear algebra solvers. In this paper we show that such a model can be efficiently applied to a much more irregular and less compute intensive algorithm. We illustrate our discussion with the standard unpreconditioned Conjugate Gradient (CG) that we carefully express as a task-based algorithm. We use the StarPU runtime system to assess the efficiency of the approach on a computational platform consisting of three NVIDIA Fermi GPUs. We show that almost optimum speed up (up to 2.89) may be reached (relatively to a mono-GPU execution) when processing large matrices and that the performance is portable when changing the low-level memory transfer mechanism.
Complete list of metadatas

https://hal.inria.fr/hal-00934948
Contributor : Stojce Nakov <>
Submitted on : Wednesday, January 22, 2014 - 6:51:22 PM
Last modification on : Tuesday, October 29, 2019 - 7:36:06 AM

Identifiers

  • HAL Id : hal-00934948, version 1

Citation

Emmanuel Agullo, Luc Giraud, Abdou Guermouche, Stojce Nakov, Jean Roman. Pipelining the CG Solver Over a Runtime System. GPU Technology Conference, NVIIDA, Mar 2013, San Jose, United States. ⟨hal-00934948⟩

Share

Metrics

Record views

428