Abstract
This paper presents some compilation techniques to compress holes. Holes are the memory locations mapped by useless template cells and are caused by the non-unit alignment stride in a two-level dataprocessor mapping. In a two-level data-processor mapping, there is a repeated pattern for array elements mapped onto processors. We classify blocks into classes and use a class table to record the attributes of classes for the data distribution. Similarly, data distribution on a processor also has a repeated pattern. We use compression table to record the attributes of the first data distribution pattern on that processor. By using class table and compression table, hole compression can be easily and efficiently achieved. Compressing holes can save memory usage, improve spatial locality and further increase system performance. The proposed method is efficient, stable and easy implement. The experimental results do confirm the advantages of our proposed method over existing methods.
This work was supported in part by the National Science Council of the Republic of China under Grant #NSC86-2213-E-008-020.
Preview
Unable to display preview. Download preview PDF.
References
C. Ancourt, F. Coelho, F. Irigoin, and R. Keryell. A linear algebra framework for static HPF code distribution. In The Fourth International Workshop on Compilers Parallel Computers, pages 117–132, Delft, The Netherlands, December 1993.
B. M. Chapman, P. Mehrotra, and H. P. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1), August 1992.
S. Chatterjee, J. R. Gilbert, F. J. E. Long, R. Schreiber, and S.-H. Teng. Generating local addresses and communication sets for data parallel programs. Journal of Parallel and Distributed Computing, 26(1):72–84, April 1995.
G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. W. Tseng, and M. Wu. Fortran D language specification. Technical Report TR-91-170, Department of Computer Science, Rice University, December 1991.
S. K. S. Gupta, S.D. Kaushik, C.-H. Huang, and P. Sadayappan. On compiling array expressions for efficient execution on distributed-memory machines. Journal of Parallel and Distributed Computing, 32(2):155–172, February 1996.
High Performance Fortran Forum. High Performance Fortran Language Specification, November 1994. (Version 1.1).
S. D. Kaushik, C.-H. Huang, J. Ramanujam, and P. Sadayappan. Multi-phase redistribution: A communication-efficient approach to array redistribution. Technical Report OSU-CISRC-9/94-52, Department of Computer and Information Science, The Ohio State University, 1994.
S. D. Kaushik, C.-H. Huang, and P. Sadayappan. Efficient index set generation for compiling HPF array statements on distributed-memory machines. Journal of Parallel and Distributed Computing, 38(2):237–247, November 1996.
K. Kennedy, N. Nedeljković, and A. Sethi. Efficient address generation for block-cyclic distributions. In Proceedings of ACM International Conference on Supercomputing, pages 180–184, July 1995.
K.-P. Shih, J.-P. Sheu, and C.-H. Huang. Table-lookup approach for compiling twolevel data-processor mappings in HPF. Technical Report NCU-PPCTL-1997-05, Department of Computer Science and Information Engineering, National Central University, Taiwan, 1997.
J. M. Stichnoth, D. O'Hallaron, and T. Gross. Generating communication for array statements: Design, implementation, and evaluation. Journal of Parallel and Distributed Computing, 21:150–159, 1994.
R. Thakur, A. Choudhary, and J. Ramanujam. Efficient algorithms for array redistribution. IEEE Transactions on Parallel and Distributed Systems, 7(6):587–594, June 1996.
A. Thirumalai and J. Ramanujam. Efficient computation of address sequences in data parallel programs using closed forms for basis vectors. Journal of Parallel and Distributed Computing, 38(2):188–203, November 1996.
C. van Reeuwijk, W. Denissen, H.J. Sips, and E. M. Paalvast. An implementation framework for HPF distributed arrays on message-passing parallel computer systems. Technical Report CP-96-001, Computational Physics Section, Faculty of Applied Physics, Delft University of Technology, 1996.
W.-H. Wei, K.-P. Shih, and J.-P. Sheu. Compiling array references with affine functions for data-parallel programs. To be appeared in Journal of Infromation Science and Engineering, 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Shih, KP., Sheu, JP., Huang, CH. (1998). Table-lookup approach for compiling two-level data-processor mappings in HPF. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032682
Download citation
DOI: https://doi.org/10.1007/BFb0032682
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64472-9
Online ISBN: 978-3-540-69788-6
eBook Packages: Springer Book Archive