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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
R. Allen and K. Keneddy. Vector register allocation. IEEE Transactions on computers, 41(10):1290–1317, 1992.
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.
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.
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.
H. Cheng. Vector pipelining, chaining, and speed on the IBM 3090 and cray X-MP. IEEE Computer, 22(9):31–46, sep 1989.
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.
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.
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.
B. Flury. Common Principal Components and Related Multivariate Models. John Wiley & Sons, 1988.
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.
G. H. Golub and C. F. V. Loan. Matrix Computations. The Johns Hopkins University Press, Baltimore and London, 1989.
R. C. Gonzalez and R. E. Woods. Digital Image Processing. Adison-Wesley Publishing Company, Massachusetts, 1992.
D. Hennesy, J.L. & Patterson. Arquitectura de computadores. McGraw-Hill, 1993.
H. Hotelling. Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24:417–441, 1933.
K. Hwang. Advanced computer architecture. McGraw-Hill, 1993.
D. Maravall and Gomez-Allende. Reconocimiento de formas y visi'on artificial. RA-MA Editorial, Madrid, 1993.
P. Penczek, M. Radermarcher, and J. Frank. Three-dimensional reconstruction of single particles embedded in ice. Ultramicroscopy, 40:33–53, 1992.
C. Polycronopoulos. Parallel Programming and Compilers. Kluwer Academic Publishers, 1988.
M. Tatsuoka. Multivariate Analysis: Techniques for Educational and Psychological Research. John Wiley & Sons, University of Illinois, 1971.
Author information
Authors and Affiliations
Editor information
Rights 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