Leveraging Task-Parallelism with OmpSs in ILUPACK's Preconditioned CG Method

  • J. I. Aliaga Universidad Jaume I
  • R. M. Badía Artificial Intelligence Research Institute / National Research Council
  • M. Barreda Universidad Jaume I
  • M. Bollhöfer TU Braunschweig
  • E. S. Quintana-Ortí Universitat Jaume I

Resumo


In this paper we describe how to efficiently exploit task parallelism for the solution of sparse linear systems on multithreaded processors via ILUPACK's multi-level preconditioned CG method. Using a pair of data structures, we capture the task dependencies that appear in the two most challenging operations in the method (calculation of the preconditioned and its application), passing this information to the OmpSs runtime which can then implement a correct and efficient schedule of the entire solver. Our results with high-end multicore platforms equipped with Intel and AMD processors report significant performance gains, demonstrating that OmpSs provides an efficient and close-to seamless means to leverage the concurrency in a complex scientific code like ILUPACK.
Palavras-chave: Vectors, Runtime, Concurrent computing, Parallel processing, Program processors, US Department of Transportation, Programming, Sparse linear systems, iterative solvers, task-level parallelism, data-flow execution, ILUPACK, OmpSs
Publicado
22/10/2014
ALIAGA, J. I.; BADÍA, R. M.; BARREDA, M.; BOLLHÖFER, M.; QUINTANA-ORTÍ, E. S.. Leveraging Task-Parallelism with OmpSs in ILUPACK's Preconditioned CG Method. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 26. , 2014, Paris/FR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2014 . p. 262-269.