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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
M. Berry and others. The PERFECT Club Benchmarks: Effective Performance Evaluation of Supercomputers. Int. Journal of Supercomputer Applications, 3(3):9–40, Fall 1989.
D. Callahan and A. Porterfield. Data Cache Performance of Supercomputer Applications. In Supercomputer '90, 1990.
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.
M. Cierniak and W. Li. Recovering Logical Data and Code Structures. TR 591, Computer Science Department, University of Rochester, July 1995.
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.
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.
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.
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.
W. Li and K. Pingali. Access Normalization: Loop Restructuring for NUMA Compilers. ACM Transactions on Computer Systems, 11(4):353–375, November 1993.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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