Skip to main content

A Block JRS Algorithm for Highly Parallel Computation of SVDs

  • Conference paper
High Performance Computing and Communications (HPCC 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4782))

Abstract

This paper presents a new algorithm for computing the singular value decomposition (SVD) on multilevel memory hierarchy architectures. This algorithm is based on one-sided JRS iteration, which enables the computation of all Jacobi rotations of a sweep in parallel. One key point of our proposed block JRS algorithm is reusing the loaded data into cache memory by performing computations on matrix blocks (b rows) instead of on strips of vectors as in JRS iteration algorithms. Another key point is that on a reasonably large number of processors the number of sweeps is less than that of one-sided JRS iteration algorithm and closer to the cyclic Jacobi method even though not all rotations in a block are independent. The relaxation technique helps to calculate and apply all independent rotations per block at the same time. On blocks of size b(n, the block JRS performs O(b 2 n) floating-point operations on O(bn) elements, which reuses the loaded data in cache memory by a factor of b. Besides, on P parallel processors, (2P-1) steps based on block computations are needed per sweep.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Klema, V., Laub, A.: The Singular Value Decomposition: Its Computation and Some Applications. IEEE Transactions on Automatic Control AC-25(2) (1980)

    Google Scholar 

  2. Rajasekaran, S., Song, M.: A Novel Scheme for the Parallel Computation of SVDs. In: Proc. High Performance Computing and Communications, pp. 129–137 (2006)

    Google Scholar 

  3. Golub, G., Van Loan, C.: Matrix Computations, 2nd edn. John Hopkins University Press, Baltimore and London (1993)

    Google Scholar 

  4. Brent, R., Luk, F.: The Solution of Singular-Value and Symmetric Eigenvalue Problems on Multiprocessor Arrays. SIAM Journal on Scientific and Statistical Computing 6(1), 69–84 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  5. Zhou, B., Brent, R.: A Parallel Ring Ordering Algorithm for Efficient One-sided SVD Computations. Journal of Parallel and Distributed Computing 42, 1–10 (1997)

    Article  MATH  Google Scholar 

  6. Becka, M., Vajtersic, M.: Block-Jacobi SVD Algorithms for Distributed Memory Systems I: Hypercubes and Rings. Parallel Algorithms Appl. 13, 265–287 (1999)

    MATH  MathSciNet  Google Scholar 

  7. Becka, M., Vajtersic, M.: Block-Jacobi SVD Algorithms for Distributed Memory Systems II: Meshes. Parallel Algorithms Appl. 14, 37–56 (1999)

    MATH  MathSciNet  Google Scholar 

  8. Becka, M., Oksa, G., Vajtersic, M.: Dynamic Ordering for a Parallel Block-Jacobi SVD Algorithm. Parallel Comp. 28, 243–262 (2002)

    Article  MATH  Google Scholar 

  9. Oksa, G., Vajtersic, M.: A Systolic Block-Jacobi SVD Solver for Processor Meshes. Parallel Algorithms and Applications 18, 49–70 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  10. Strumpen, V., Hoffmann, H., Agarwal, A.: A Stream Algorithm for the SVD. Technical Memo 641, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology (2003)

    Google Scholar 

  11. Hestenes, M.: Inversion of Matrices by Biorthogonalization and Related Results. J. SIAP 6(1), 51–90 (1958)

    MATH  MathSciNet  Google Scholar 

  12. Brent, R.: Parallel Algorithms for Digital Signal Processing. Numerical Linear Algebra, Digital Signal Processing and Parallel Algorithms, pp. 93–110. Springer, Heidelberg (1991)

    Google Scholar 

  13. Dongarra, J., Foster, I., Fox, G., Kennedy, K., White, A., Torczon, L., Gropp, W.: The Sourcebook of Parallel Computing. Morgan Kaufmann, San Francisco (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ronald Perrott Barbara M. Chapman Jaspal Subhlok Rodrigo Fernandes de Mello Laurence T. Yang

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Soliman, M.I., Rajasekaran, S., Ammar, R. (2007). A Block JRS Algorithm for Highly Parallel Computation of SVDs. In: Perrott, R., Chapman, B.M., Subhlok, J., de Mello, R.F., Yang, L.T. (eds) High Performance Computing and Communications. HPCC 2007. Lecture Notes in Computer Science, vol 4782. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75444-2_36

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75444-2_36

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75443-5

  • Online ISBN: 978-3-540-75444-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics