Bidiagonalization with Parallel Tiled Algorithms
Résumé
We consider algorithms for going from a ``full'' matrix to a condensed
``band bidiagonal'' form using orthogonal transformations.
We use the framework of ``algorithms by tiles''.
Within this framework, we study: (i) the tiled
bidiagonalization algorithm \bidiag, which is a tiled version of the
standard scalar bidiagonalization algorithm; and
(ii) the R-bidiagonalization algorithm \rbidiag, which
is a tiled version of the algorithm which
consists in first performing the QR factorization of
the initial matrix, then performing the band-bidiagonalization of the R-factor.
For both bidiagonalization algorithms \bidiag and \rbidiag,
we use four main
types of reduction trees, namely \FlatTS, \FlatTT, \Greedy,
and a newly introduced auto-adaptive tree, \Auto.
We provide a study of critical path lengths for these tiled algorithms, which shows
that (i) \rbidiag has a shorter critical path length than
\bidiag for tall and skinny matrices, and (ii) \Greedy based schemes are
much better than earlier proposed variants with unbounded resources.
We provide experiments on a single multicore node, and on a few multicore nodes of a parallel distributed
shared-memory system, to show the superiority of the new algorithms on a
variety of matrix sizes, matrix shapes and core counts.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|