Task-based Conjugate-Gradient for multi-GPUs platforms

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

Cited literature [46 references]  Display  Hide  Download

https://hal.inria.fr/hal-00767368
Contributor : Stojce Nakov <>
Submitted on : Wednesday, December 19, 2012 - 5:13:10 PM
Last modification on : Tuesday, October 29, 2019 - 7:36:06 AM
Long-term archiving on: Wednesday, March 20, 2013 - 11:33:51 AM

File

RR-8192.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-00767368, version 1

Collections

Citation

Emmanuel Agullo, Luc Giraud, Abdou Guermouche, Stojce Nakov, Jean Roman. Task-based Conjugate-Gradient for multi-GPUs platforms. [Research Report] RR-8192, INRIA. 2012, pp.28. ⟨hal-00767368⟩

Share

Metrics

Record views

576

Files downloads

597