Skip to main content

Principal component analysis on vector computers

  • Conference paper
  • First Online:
Vector and Parallel Processing — VECPAR'96 (VECPAR 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1215))

Included in the following conference series:

Abstract

Principal component analysis is a classical multivariate technique used as a basic tool in the field of image processing. Due to the iterative character and the high computational cost of these algorithms over conventional computers, they are good candidates for pipelined processing. In this work we analyse these algorithms from the viewpoint of vectorization and present an efficient implementation on the Fujitsu VP-2400/10. We systematically applied different code transformations to the algorithm making use of the vectorial capabilities of the system. In particular we have tested a number of vectorization techniques that optimize the reuse of the vector registers, exploit all levels of the memory hierarchy, and utilize the pipelined units in parallel (concurrency between them). We have considered images of 32×32 pixels and have divided the algorithm into three different stages. The speedups obtained for the native vectorizing compiler were 1.3, 1.3 and 7.9 for the different stages. These speedups were multiplied by factors of 5, 50 and 55 respectively, after applying our code transformations. The best improvement was achieved in the third stage of the algorithm, which is the most time consumming.

This work was supported in part by the CICYT under grant TIC92-0942-C03-03 and Xunta de Galicia under grant XUGA20606B93.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. R. Allen and K. Keneddy. Vector register allocation. IEEE Transactions on computers, 41(10):1290–1317, 1992.

    Google Scholar 

  2. J.-P. Bretaudiere and J. Frank. Reconstitution of molecule images analysed by correspondence analysis: a tool for structural interpretation. Journal of Microscopy, 144:1–14, 1986.

    Google Scholar 

  3. J. Cabaleiro. Análisis, Caracterización y recontrucción 3D de macromoléculas en multiprocesadores. PhD thesis, Dept. Electrónica y Computatión, Univ. Santiago de Compostela, may 1994. In Spanish.

    Google Scholar 

  4. J. Cabaleiro, J. Carazo, and E. Zapata. Parallel algorithm for principal component analysis based on hotelling procedure. In P. Milligan and A. Nunez, editors, EUROMICRO Workshop On Parallel and Distributed Processing, pages 144–149, Gran Canaria, 1993. IEEE Computer Society Press.

    Google Scholar 

  5. H. Cheng. Vector pipelining, chaining, and speed on the IBM 3090 and cray X-MP. IEEE Computer, 22(9):31–46, sep 1989.

    Google Scholar 

  6. P. Costas. Análisis en componentes principales sobre computadores vectoriales. Master's thesis, Dept. Electrónica y Computatión, Univ. Santiago de Compostela, jul 1994. In English.

    Google Scholar 

  7. W. Cowell and C. Thompson. Transforming FORTRAN DO loops to improve performance on vector architectures. ACM Transactions on Mathematical Software, 12(4):324–353, 1986.

    Google Scholar 

  8. J. Dongarra and S. Eisenstat. Squeezing the most out of an algorithm in Cray FORTRAN. ACM Transactions on Mathematical Software, 10(3):219–230, 1984.

    Google Scholar 

  9. B. Flury. Common Principal Components and Related Multivariate Models. John Wiley & Sons, 1988.

    Google Scholar 

  10. J. Frank, M. Radermacher, T. Wagenknecht, and A. Verschoor. Studying ribosome structure by electron microscopy and computer-image processing. In Methods in Enzymology, pages 3–35, San Diego, 1988. Academic Press, vol. 164.

    Google Scholar 

  11. G. H. Golub and C. F. V. Loan. Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1989.

    Google Scholar 

  12. R. C. Gonzalez and R. E. Woods. Digital Image Processing. Adison-Wesley Publishing Company, Massachusetts, 1992.

    Google Scholar 

  13. D. Hennesy, J.L. & Patterson. Arquitectura de computadores. McGraw-Hill, 1993.

    Google Scholar 

  14. H. Hotelling. Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24:417–441, 1933.

    Google Scholar 

  15. K. Hwang. Advanced computer architecture. McGraw-Hill, 1993.

    Google Scholar 

  16. D. Maravall and Gomez-Allende. Reconocimiento de formas y visi'on artificial. RA-MA Editorial, Madrid, 1993.

    Google Scholar 

  17. P. Penczek, M. Radermarcher, and J. Frank. Three-dimensional reconstruction of single particles embedded in ice. Ultramicroscopy, 40:33–53, 1992.

    Google Scholar 

  18. C. Polycronopoulos. Parallel Programming and Compilers. Kluwer Academic Publishers, 1988.

    Google Scholar 

  19. M. Tatsuoka. Multivariate Analysis: Techniques for Educational and Psychological Research. John Wiley & Sons, University of Illinois, 1971.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

José M. L. M. Palma Jack Dongarra

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heras, D.B., Cabaleiro, J.C., Blanco, V., Costas, P., Rivera, F.F. (1997). Principal component analysis on vector computers. In: Palma, J.M.L.M., Dongarra, J. (eds) Vector and Parallel Processing — VECPAR'96. VECPAR 1996. Lecture Notes in Computer Science, vol 1215. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62828-2_133

Download citation

  • DOI: https://doi.org/10.1007/3-540-62828-2_133

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62828-6

  • Online ISBN: 978-3-540-68699-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics