Special Issue: A systolic block-Jacobi SVD solver for processor meshes

Gabriel Okša, Marián Vajteršic · International Journal of Parallel Emergent and Distributed Systems · 2003

We design the systolic version of the two-sided block-Jacobi algorithm for the singular value decomposition (SVD) of matrix A∈R m×n , and m, n even. The algorithm involves the class CO of parallel orderings on the two-dimensional toroidal mesh with p processors. The mathematical background is based on the QR decomposition (QRD) of local data matrices and on the triangular Kogbetliantz algorithm (TKA) for local SVDs in the diagonal mesh processors. Subsequent updates of local matrices in the diagonal as well as nondiagonal mesh processors are required. We show that all updates can be realized by orthogonal modified Givens rotations. These rotations can be efficiently pipelined in parallel in the horizontal and vertical rings of processor through the toroidal mesh. Our solution requires, per one mesh processor, systolic processing elements (PEs) and additional delay elements. The time complexity can be estimated as where w is the number of global sweeps in the two-sided block-Jacobi algorithm and Δ is the length of the global synchronization time step. The VLSI area per mesh processor, measured by the number of vertical and horizontal wires required for its construction, can be estimated as and the combined VLSI area–time complexity per mesh processor is The theoretical speedup can be estimated as Using the mesh processors of fixed inner size , even, it is possible to construct the square two-dimensional toroidal mesh and to compute the SVD of matrix A, the size of the which matches the shape of mesh processors, i.e. In this sense, the systolic algorithm is scalable.

Read the paper · More papers on PaperTik