Scheduling of QR Factorization Algorithms on SMP and Multi-Core Architectures

  • Authors:
  • Gregorio Quintana-Orti;Enrique S. Quintana-Orti;Ernie Chan;Robert A. van de Geijn;Field G. Van Zee

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • PDP '08 Proceedings of the 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper examines the scalable parallel implementation of the QR factorizationof a general matrix, targeting SMP and multi-core architectures. Two implementations of algorithms-by-blocks are presented. Each implementation views a block of a matrix as the fundamental unit of data, and likewise, operations over these blocks as the primary unit of computation. The first is a conventional blocked algorithm similar to those included in libFLAME and LAPACK but expressed in a way that allows operations in the so-called critical path of execution to be computed as soon as their dependencies are satisfied. The second algorithm captures a higher degree of parallelism with an approach based on Givens rotations while preserving the performance benefits of algorithms based on blocked Householder transformations. We show that the implementation effort is greatly simplified by expressing the algorithms in code with the FLAME/FLASH API, which allows matrices stored by blocks to be viewed and managed as matrices of matrix blocks. The SuperMatrix run-time system utilizes FLASH to assemble and represent matrices but also provides out-of-order scheduling of operations that is transparent to the programmer. Scalability of the solution is demonstrated on ccNUMA platform with 16 processors and an SMP architecture with 16 cores.