This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Vienna-Fortran/HPF Extensions for Sparse and Irregular Problems and Their Compilation
October 1997 (vol. 8 no. 10)
pp. 1068-1083

Abstract—Vienna Fortran, High Performance Fortran (HPF), and other data parallel languages have been introduced to allow the programming of massively parallel distributed-memory machines (DMMP) at a relatively high level of abstraction, based on the SPMD paradigm. Their main features include directives to express the distribution of data and computations across the processors of a machine. In this paper, we use Vienna-Fortran as a general framework for dealing with sparse data structures. We describe new methods for the representation and distribution of such data on DMMPs, and propose simple language features that permit the user to characterize a matrix as "sparse" and specify the associated representation. Together with the data distribution for the matrix, this enables the compiler and runtime system to translate sequential sparse code into explicitly parallel message-passing code. We develop new compilation and runtime techniques, which focus on achieving storage economy and reducing communication overhead in the target program. The overall result is a powerful mechanism for dealing efficiently with sparse matrices in data parallel languages and their compilers for DMMPs.

[1] J. Andersen, G. Mitra, and D. Parkinson, "The Scheduling of Sparse Matrix-Vector Multiplication on a Massively Parallel DAP Computer," Parallel Computing, vol. 18, pp. 675-697, 1992.
[2] R. Asenjo, L.F. Romero, M. Ujaldon, and E.L. Zapata, "Sparse Block and Cyclic Data Distributions for Matrix Computations," Proc. High Performance Computing, Technology, and Applications Advanced Workshop,Cetraro, Italy, June 1994.
[3] R. Barrett, M. Berry, T. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and H. van der Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM 1994.
[4] M.J. Berger and S.H. Bokhari, "A partitioning strategy for nonuniform problems on multiprocessors," IEEE Trans. Computers, vol. 36, no. 5, pp. 570-580, May 1987.
[5] A.J.C. Bik and H.A.G. Wijshoff, "Automatic Data Structure Selection and Transformation for Sparse Matrix Computations," IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 2, pp. 109-126, Feb. 1996.
[6] W. Blume, R. Eigenmann, K. Faigin, J. Grout, J. Hoeflinger, D. Padua, P. Petersen, B. Pottenger, L. Rauchwerger, P. Tu, and S. Weatherford, "Polaris: Improving the Effectiveness of Parallelizing Compilers," Lecture Notes in Computer Science, 892: Languages and Compilers for Parallel Computing, pp. 141-154, 1995.
[7] S.H. Bokhari, T.W. Crockett, and D.M. Nicol, "Parametric Binary Dissection," ICASE Report no. 93-39, NASA Langley Research Center, 1993.
[8] W. Camp, S.J. Plimpton, B. Hendrickson, and R.W. Leland, “Massively Parallel Methods for Engineering and Science Problems,” Comm. ACM, vol. 37, pp. 31–41, Apr. 1994.
[9] B. Chapman, S. Benkner, R. Blasko, P. Brezany, M. Egg, T. Fahringer, H.M. Gerndt, J. Hulman, B. Knaus, P. Kutschera, H. Moritsch, A. Schwald, V. Sipkova, and H. Zima, Vienna Fortran Compilation System. User's Guide, 1993.
[10] B. Chapman, P. Mehrotra, and H. Zima, "Programming in Vienna Fortran," Scientific Programming, vol. 1, no. 1, pp. 31-50, Fall 1992.
[11] B. Chapman, P. Mehrotra, and H.P. Zima, "User Defined Mappings in Vienna Fortran," Proc. Second Workshop Languages, Compilers, and Runtime Environments for Distributed-Memory Multiprocessors,Boulder, Colo., Sept. 30-Oct. 2, 1992, ACM SIGPLAN Notices, vol. 28, no. 1, pp. 72-75, Jan. 1993.
[12] B. Chapman, P. Mehrotra, and H. Zima, "Extending HPF For Advanced Data Parallel Applications," IEEE Parallel and Distributed Technology, pp. 59-70, Fall 1994.
[13] R. Das, P. Havlak, J. Saltz, and K. Kennedy, "Index Array Flattening Through Program Transformations," Proc. SuperComputing '95,San Diego, Calif., Dec. 1995.
[14] I.S. Duff, R.G. Grimes, and J.G. Lewis, "Users' Guide for the Harwell-Boeing Sparse Matrix Collection," Research and Technology Division, Boeing Computer Services, Seattle, Wash., 1992.
[15] G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. Tseng, and M. Wu, "Fortran D Language Specification," Technical Report, Rice COMP TR90079, Dept of Computer Science, Rice Univ., 1991.
[16] R. von Hanxleden, K. Kennedy, and J. Saltz, "Value-Based Distributions in Fortran D—A Preliminary Report," Technical Report TR93365-S, Rice Univ., Dec. 1993.
[17] "High Performance Language Specification, Version 1.0," Technical Report TR92-225, Rice Univ., May3, 1993. Also available in Scientific Programming, vol. 2, nos. 1-2, pp. 1-170, Spring and Summer 1993.
[18] Y.F. Hu and R.J. Blake, "Numerical Experiences with Partitioning of Unstructured Meshes," Parallel Computing, vol. 20, no. 5, pp. 815-829, May 1994.
[19] C. Polychronopoulos, M. Girkar, M.R. Haghighat, C. Lee, B. Leung, and D. Schouten, “The Structure of Parafrase-2: An Advanced Parallelizing Compiler for C and Fortran,” Proc. Workshop Language and Compilers for Parallel Computing, Aug. 1990.
[20] L.F. Romero and E.L. Zapata, "Data Distributions for Sparse Matrix Vector Multiplication Solvers," J. Parallel Computing, vol. 21, pp. 583-605, 1995.
[21] J. Saltz,K. Crowley,R. Mirchandaney,, and H. Berryman,“Run-time scheduling and execution of loops on message passing machines,” J. Parallel and Distributed Computing, vol. 8, pp. 303–312, 1990.
[22] J. Saltz, R. Ponnusamy, S. Sharma, B. Moon, Y.-S. Hwang, M. Uysal, and R. Das, “A Manual for the CHAOS Runtime Library,” technical report, Dept. of Computer Science and UMIACS, Univ. of Maryland, Mar. 1995.
[23] M.A. Trenas, "Parallel Algorithms for Eigenvalues Computation with Sparse Matrices," master's thesis, Univ. of Malaga, Nov. 1995 (in Spanish).
[24] M. Ujaldon and E.L. Zapata, "Efficient Resolution of Sparse Indirections in Data-Parallel Compilers," Proc. Ninth ACM Int'l Conf. Supercomputing, pp. 117-126,Barcelona, July 1995.
[25] M. Ujaldon, E.L. Zapata, S.D. Sharma, and J. Saltz, “Parallelization Techniques for Sparse Matrix Applications,” J. Parallel and Distribution Computing, 1996.
[26] V. Venkatakrishnan, H.D. Simon, and T.J. Barth, "A MIMD Implementation of a Parallel Euler Solver for Unstructured Grids," J. Supercomputing, vol. 6, no. 2, pp. 117-137, 1992.
[27] H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald, "Vienna Fortran—A Language Specification, Version 1.1," Technical Report ACPC-TR 92-4, Univ. of Vienna, Mar. 1992.

Index Terms:
Data-parallel language and compiler, sparse computation, distributed-memory machines, runtime support.
Citation:
Manuel Ujaldon, Emilio L. Zapata, Barbara M. Chapman, Hans P. Zima, "Vienna-Fortran/HPF Extensions for Sparse and Irregular Problems and Their Compilation," IEEE Transactions on Parallel and Distributed Systems, vol. 8, no. 10, pp. 1068-1083, Oct. 1997, doi:10.1109/71.629489
Usage of this product signifies your acceptance of the Terms of Use.