Skip to main content

Recovering logical structures of data

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1995)

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

Abstract

Many powerful parallelizing compiler techniques rely on the structures of data and code. Unfortunately, in many real applications, arrays do not have syntactic structures. In this paper, we show that logical data structures can be automatically recovered from the flat, one-dimensional arrays and accesses. We present a framework and algorithms for recovering the logical multi-dimensional data structures.

This work was supported in part by an NSF Research Initiation Award (CCR-9409120) and ARPA contract F19628-94-C-0057.

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. J. M. Anderson and M. S. Lam. Global Optimizations for Parallelism and Locality on Scalable Parallel Machines. In Proceedings of the SIGPLAN '93 Conference on Programming Language Design and Implementation, pages 112–125, Albuquerque, NM, June 1993.

    Google Scholar 

  2. J. M. Anderson, S. P. Amarasinghe, and M. S. Lam. Data and Computation Transformations for Multiprocessors. In Proceedings of the Fifth ACM Symposium on Principles and Practice of Parallel Programming, Santa Barbara, CA, July 1995.

    Google Scholar 

  3. D. Bau, I. Kodukula, V. Kotlyar, K. Pingali, and P. Stodghill. Solving Alignment using Elementary Linear Algebra. In Proceedings of the Seventh Annual Workshop on Languages and Compilers for Parallel Computing, Ithaca, NY, August 1994.

    Google Scholar 

  4. M. Berry and others. The PERFECT Club Benchmarks: Effective Performance Evaluation of Supercomputers. Int. Journal of Supercomputer Applications, 3(3):9–40, Fall 1989.

    Google Scholar 

  5. D. Callahan and A. Porterfield. Data Cache Performance of Supercomputer Applications. In Supercomputer '90, 1990.

    Google Scholar 

  6. S. Chatterjee, J. R. Gilbert, R. Schreiber, and S.-H. Teng. Automatic Array Alignment in Data-Parallel Programs. In Conference Record of the Twentieth ACM Symposium on Principles of Programming Languages, Charleston, SC, January 1993.

    Google Scholar 

  7. M. Cierniak and W. Li. Recovering Logical Data and Code Structures. TR 591, Computer Science Department, University of Rochester, July 1995.

    Google Scholar 

  8. M. Cierniak and W. Li. Unifying Data and Control Transformations for Distributed Shared-Memory Machines. In Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation, La Jolla, CA, June 1995. Also available as TR 542, Computer Science Department, University of Rochester, November 1994.

    Google Scholar 

  9. M. Gupta and P. Banerjee. Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers on Multicomputer. IEEE Transactions on Parallel and Distributed Systems, 3(2):179–193, March 1992.

    Article  Google Scholar 

  10. Y.-J. Ju and H. Dietz. Reduction of Cache Coherence Overhead by Compiler Data Layout and Loop Transformations. In U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors, Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, pages 344–358. Springer-Verlag, August 1991. Fourth Int. Workshop, Portland, OR.

    Google Scholar 

  11. J. Li and M. Chen. Index Domain Alignment: Minimizing Cost of Cross-Referencing Between Distributed Arrays. In Proceedings of the Third Symposium on Frontiers of Massively Parallel Computation, College Park, Maryland, October 1990.

    Google Scholar 

  12. W. Li and K. Pingali. Access Normalization: Loop Restructuring for NUMA Compilers. ACM Transactions on Computer Systems, 11(4):353–375, November 1993.

    Article  Google Scholar 

  13. L. M. Liebrock and K. Kennedy. Parallelization of Linearized Applications in Fortran D. In Proceedings of the Eighth International Parallel Processing Symposium, Cancun, Mexico, April 1994.

    Google Scholar 

  14. V. Maslov. Delinearization: An Efficient Way to Break Multiloop Dependence Equations. In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation, San Francisco, CA, June 1992.

    Google Scholar 

  15. V. Maslov and W. Pugh. Simplifying Polynomial Constraints Over Integers to Make Dependence Analysis More Precise. In International Conference on Parallel and Vector Processing (CONPAR '94-VAPP VI), Linz, Austria, September 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chua-Huang Huang Ponnuswamy Sadayappan Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cierniak, M., Li, W. (1996). Recovering logical structures of data. In: Huang, CH., Sadayappan, P., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1995. Lecture Notes in Computer Science, vol 1033. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014211

Download citation

  • DOI: https://doi.org/10.1007/BFb0014211

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60765-6

  • Online ISBN: 978-3-540-49446-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics