High Performance Fortran interfacing to ScaLAPACK
The ScaLAPACK numerical library for MIMD distributed-memory parallel computers comprises highly efficient and robust parallel dense linear algebra routines, implemented using explicit message passing. High Performance Fortran (HPF) was developed as an alternative to the message-passing paradigm. It extends Fortran 90 with directives to automatically distribute data and to parallelize loops, such that all required inter-processor communication is generated by the compiler. While HPF can ease parallelization of many applications, it still does not make sense to re-program existing libraries like ScaLAPACK. Rather, programmers should have the opportunity to use them from within HPF programs.
HPF interfaces to routines in the ScaLAPACK library are presented which are simplified considerably through exploitation of Fortran 90 array features. Substantial performance benefits from interfacing to efficient ScaLAPACK routines are also demonstrated via a comparison with equivalent HPF-coded functions. Finally, standard ScaLAPACK optimizations, tuning block sizes and processor topology/mapping, are found to be equally effective from HPF.
Unable to display preview. Download preview PDF.
- 1.J. Choi, J. J. Dongarra, R. Pozo, and D. W. Walker, “ScaLAPACK: A scalable linear algebra library for distributed memory concurrent computers,” in Proc. 4th Symp. Frontiers of Massively Parallel Computation (Frontiers'92), IEEE Computer Society Press, 1992.Google Scholar
- 2.J. Choi, J. J. Dongarra, L. S. Ostrouchov, A. P. Petitet, D. W. Walker, and R. C. Whaley, “The design and implementation of the ScaLAPACKLU, QR, and Cholesky factorization routines,” Tech. Rep. ORNL/TM-12470, Oak Ridge National Laboratory, September 1994.Google Scholar
- 3.V. Deshpande, W. Sawyer, and D. W. Walker, “An MPI implementation of the BLACS,” in Proc. 2nd MPI Developers Conf., (MPIDC'96, Notre Dame, IN, USA), pp. 195–198, IEEE Comp. Soc. Press, July 1996. [ISBN: 0-8186-7533-0] Also available as CSCS-TR-96-11.Google Scholar
- 4.J. J. Dongarra and R. C. Whaley, “A user's guide to the BLACS v1.0,” Technical Report CS-95-281, LAPACK Working Note 94, University of Tennessee, 1995.Google Scholar
- 5.Message Passing Interface Forum, “MPI: A Message-Passing Interface Standard,” International Journal of Supercomputer Applications, vol. 8, no. 3&4, pp. 157–416, 1994.Google Scholar
- 6.High Performance Fortran Forum, “High Performance Fortran Language Specification: Version 1.0,” Scientific Programming, vol. 2, no. 1&2, 1993.Google Scholar
- 7.J. J. Dongarra, J. Du Croz, S. Hammarling, and I. Duff, “A set of level 3 basic linear algebra subprograms,” ACM Transactions on Mathematical Software, vol. 16, pp. 1–17, Mar. 1990.Google Scholar
- 8.The Portland Group, Inc. (PGI), 9150 SW Pioneer Court (Suite H), Wilsonville, Oregon 97070, USA, pghpf User's Guide and Reference Manual, 2.1 ed., May 1996.Google Scholar