Performance Portability of XL HPF Compiler on IBM SP2 and SMP Multiprocessors
Resumo
High Performance Fortran (HPF) is a data-parallel programming language that allows the programmer to specify the data decomposition onto the processors while the compiler takes care of the tedious tasks of communication generation and computation partitioning. Shifting some of the complex tasks from the user to the compiler should encourage programmers to write and port code to parallel machines especially if the compiler implements these tasks efficiently. In this paper, performance results and analysis of a subset of the SPEC92 is presented for the XL HPF compiler on IBM SP2 machines. In addition to obtaining good performance from the compiler, one of the the main concerns of HPF users is portability. Experimental results and analysis are presented in this paper to investigate performance portability (consistency) first across multiprocessor architectures and then across compilers. For performance portability across multiprocessor machines, the same XL HPF compiler used for the IBM SP2 distributed memory machine experiment is also used to compile and execute the same applications but on IBM SMP machines. The comparable speedup and behaviour obtained for both machines indicates that HPF compilers can be portable across different architectures. For performance portability across compilers, various HPF programming techniques and recommendations are introduced to increase the chances of obtaining performance consistency with different HPF compilers.
Referências
Z. Bozkus, L. Meadows, S. Nakamoto, V. Schuster, and M. Young. Compiling High Performance Fortran. In Proceedings of the Seventh SIAM Conference an Parallel Processing for Scientific Camputing, 1995
B. Chapman, P. Mehrotra, J. Van Rosendale, H. Zima. Programming in Vienna Fortran. In Scientific Programming, 31-50, August 1992.
V. Elisseev. Parallelization of Three-dimensional Spectral Laser-plasma Interaction Code Using High Performance Fortran. In Journal of Computers in Physics, 173-180, March 1998
M. Frumkin, H. Jin, J. Yan. Implementation of NAS Parallel Benchmarks in High Performance Fortran. In NAS Technical Report NAS-98-009, September 1998.
W. Gropp, E. Lusk, A. Skjellum. Using MPI: Portable Parallel Processing with the Message-Passing Interface. MIT Press, 1994.
M. Gupta, E. Schonberg, H. Srinivasan. A unified data-flow framework for optimizing communication. In Proceedings of the Seventh Workshop on Languages and Compilers for Parallel Computing. August 1994.
M. Gupta, S. Midkiff, E. Schonberg, V. Scshadri, O. Shields, K. Wang, W. Ching, and T. Ngo. An HPF Compiler for the IBM SP2. In Proceedings of Supercomputing '95, December 1995.
S. Hiranandani, K. Kennedy, C. Tseng, Young. Evaluating Compiler Optimizations for Fortran O. In Journal of Parallel and Distributed Computing. 1994
High Performance Fortran Language Specification, Version 1.1. CRPC-TR92225. Center for Research on Parallel Computation, Rice University. Houston, 1994.
O. Jiang, H. Shan, J. Singh. Performance Portability of Applications and Optimizations Across Shared Address Space Multiprocessors. In ACM/SIGPLAN Symposium on Principies and Practices of Parallel Programming. June 1997
T. Ngo, L. Snyder, B. Chamberlain. Portable Performance Of Data Parallel Languages. In Proceedings of Supercomputing 97, 1997
J. Subhlok, P. Steenkiste, J. Stichnoth, P. Lieu. Airshed Pollution Modeling: A Case Study in Application Development in an HPF Environment. ln IPPS/SPDP 98 Proceedings, April 1998.
M.J. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley. Redwood City, CA. 1996.
A. Zaafrani, M. Ito. Parallel Region Execution of Loops with Irregular Dependencies. In International Conference on Parallel Processing. August 1994.