Reconstructing Householder Vectors from Tall-Skinny QR

Abstract

The Tall-Skinny QR (TSQR) algorithm is more communication efficient than the standard Householder algorithm for QR decomposition of matrices with many more rows than columns. However, TSQR produces a different representation of the orthogonal factor and therefore requires more software development to support the new representation. Further, implicitly applying the orthogonal factor to the trailing matrix in the context of factoring a square matrix is more complicated and costly than with the Householder representation. We show how to perform TSQR and then reconstruct the Householder vector representation with the same asymptotic communication efficiency and little extra computational cost. We demonstrate the high performance and numerical stability of this algorithm both theoretically and empirically. The new Householder reconstruction algorithm allows us to design more efficient parallel QR algorithms with significantly lower latency costs compared to Householder QR, and lower bandwidth and latency costs compared with the Communication-Avoiding QR (CAQR) algorithm. As a result, our final parallel QR algorithm outperforms ScaLAPACK and Elemental implementations of Householder QR and our implementation of CAQR on the Hopper Cray XE6 NERSC system.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 26, 2013
Accession Number
ADA593580

Entities

People

  • Edgar Solomonik
  • Grey Ballard
  • Hong D. Nguyen
  • James Demmel
  • Laura Grigori
  • Mathias Jacquelin

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Bandwidth
  • Computational Complexity
  • Computational Science
  • Computations
  • Computer Science
  • Decomposition
  • Electrical Engineering
  • Engineering
  • Equations
  • Floating Point Operations
  • Graphics Processing Unit
  • Integral Equations
  • Lepidoptera
  • Software Development
  • Standards
  • Trees (Data Structures)

Readers

  • Linear Algebra
  • Parallel and Distributed Computing.