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.
Type de document :
Communication dans un congrès
GPU Technology Conference, Mar 2013, San Jose, United States. 2013
Liste complète des métadonnées

Contributeur : Stojce Nakov <>
Soumis le : mercredi 22 janvier 2014 - 18:51:22
Dernière modification le : jeudi 11 janvier 2018 - 06:22:35


  • HAL Id : hal-00934948, version 1


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



Consultations de la notice