The major functional components of CSI-MSVD (refer to Figure 2) are
The processes MATVEC, PHI and GAMMA are pipelined so that MATVEC initiates the pipeline by sending moments to PHI. PHI then updates the bidiagonal matrix, and GAMMA, the third process in the pipeline, performs the QR-iteration with the updated bidiagonal matrix. As noted in Section 5.1, due to the accelerated computation of moments and the simplifications possible for the two-cyclic iteration (Section 3.1), the order of the matrix defined by Equation (24) and the bidiagonal matrix are independent of the problem size in practice. Hence, the computational workload in PHI and GAMMA may not be large enough to necessitate the parallelization of these components.
The load on processors involved in the MATVEC group, on the other hand, is dependent on the size of the input sparse matrix. It is quite possible that a single processor may not be able to satisfy the memory requirements of some large input matrices. Even if the matrix could be accommodated in a single processor's memory, it is desirable to partition a large matrix across multiple processors to exploit the distributed computation of the Chebyshev iteration .