On a Parallel Implementation of the One-Sided Block Jacobi SVD Algorithm
نویسندگان
چکیده
Recent progress in the serial one-sided Jacobi method is the consequence of two main ideas. The first one is that of preconditioning of an original matrix by one (two) QR (and LQ) decomposition(s) with column pivoting. Drmač and Veselić [1] have shown (experimentally and, to some degree, also theoretically) that such a preconditioning leads to a significant concentration of an off-diagonal matrix norm near the main diagonal. Then the one-sided Jacobi method is applied to the R-factor (L-factor) together with a clever modification of a cyclic ordering. Consequently, less sweeps are needed for the convergence, and the efficiency of the one-sided Jacobi method with preconditioning is suddenly comparable to that of bidiagonalization or divide-and-conquer approach. The second idea is that of working with matrix blocks instead of matrix elements, which is usually much more efficient on modern computer architectures (serial or parallel) due to the hierarchical memory organization. Hari [2] has shown how to use matrix blocks and cyclic matrix orderings in the one-sided Jacobi method and how to organize fast computations using the CS decomposition of those matrix blocks. In this contribution we design the parallel one-sided block Jacobi SVD algorithm using both above mentioned ideas. The data layout, computational and communication complexity are discussed in detail, and the results of first numerical experiments obtained on a cluster of personal computers are presented. Acknowledgement: This research was partially supported by the VEGA Grant no. 2/7143/27.
منابع مشابه
Dynamic Ordering for the Parallel One-sided Block-jacobi Svd Algorithm
The serial Jacobi algorithm (either one-sided or two-sided) for the computation of a singular value decomposition (SVD) of a general matrix has excellent numerical properties and parallelization potential, but it is considered to be the slowest method for computing the SVD. Even its parallelization with some parallel cyclic (static) ordering of subproblems does not lead to much improvement when...
متن کاملParallel One-Sided Block Jacobi SVD Algorithm: II. Implementation
This technical report is devoted to the description of implementation details of the accelerated parallel one-sided block Jacobi SVD algorithm, whose analysis and design was described in [21]. We provide discuss a suitable data layout for a parallel implementation of the algorithm on a parallel computer with distributed memory. This discussion is complicated by the fact that different computati...
متن کاملParallel Code for One-sided Jacobi-Method
One sided block Jacobi algorithm for the singular value decomposition (SVD) of matrix can be a method of choice to compute SVD efficiently and accurately in parallel. A given matrix is logically partitioned into block columns and is subjected to an iteration process. In each iteration step, for given two block columns, their Gram matrix is generated, its symmetric eigenvalue decomposition (EVD)...
متن کاملParallel One - Sided Block - Jacobi Svd Algorithm
A new dynamic ordering is presented for the parallel one-sided block Jacobi SVD algorithm. Similarly to the two-sided variant, which has been analyzed and implemented in last 10 years, the dynamic ordering takes into account the actual status of a matrix—this time of its block columns with respect to their mutual orthogonality. Using p processors, in each parallel iteration step the p mostly in...
متن کاملGeneralization of the Dynamic Ordering for the One-Sided Block Jacobi SVD Algorithm: I. Analysis and Design
The efficiency of the one-sided parallel block-Jacobi algorithm for computation of the singular value decomposition (SVD) of a general matrix A ∈ Rm×n, m ≥ n, depends–besides some numerical tricks that speed-up the convergence–crucially on the parallel ordering of subproblems, which are to be solved in each parallel iteration step. We discuss in detail possible generalizations of the so-called ...
متن کامل