Skip to main content

Table-lookup approach for compiling two-level data-processor mappings in HPF

  • Data Locality
  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. B. M. Chapman, P. Mehrotra, and H. P. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1), August 1992.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. High Performance Fortran Forum. High Performance Fortran Language Specification, November 1994. (Version 1.1).

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints 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

Publish with us

Policies and ethics