ABSTRACT
A common problem in restructuring programs for vector or parallel execution is the suppression of false dependencies which originate in the reuse of the same memory cell for unrelated values. The method is simple and well understood in the case of scalars. This paper gives the general solution for the case of arrays. The expansion is done in two steps: first, modify all definitions of the offending array in order to obtain the single assignment property. Then, reconstruct the original data flow by adapting all uses of the array. This is done with the help of a new algorithm for solving parametric integer programs. The technique is quite general and may be used for other purposes, including program checking, collecting array predicates, etc…
- Aho85.Aho A.V, Sethi R, Ullman J.D Compilers: Principles, Techniques and Tools Addison-Wesley, Reading, Mass, 1986 Google ScholarDigital Library
- Alle84.Allen, J.R, Kennedy K. Automatic Loop Interchange SIGPLAN Notices, 19, 1984 Google ScholarDigital Library
- Bake77.Baker B.S An algorithm for structuring programs JACM 24, 98-120, 1977 Google ScholarDigital Library
- Cous81.Cousot P, Halbwach N. Automatic Discovery of Linear Restraints among Variables of a Program ACM POPL, 1978 Google ScholarDigital Library
- Feau88.Feautrier P. Parametric Integer Programming to appear in RAIRO Recherche Operationelle, September 1988Google Scholar
- Jouv87.P. Jouvelot Semantic parallelizatio, a practical exercise in abstract interpretation ACM-POPL '87, Munich Google ScholarDigital Library
- Kuck78.Kuck D.J The structure of computers and computations, J. Wiley and sons, New York, 1978 Google ScholarDigital Library
- Padu86.Padua D.A, Wolfe M.1 Advanced Compiler optimization for super computers CACM, 1986 Google ScholarDigital Library
- Wolf78.Wolfe M. J Techniques for improving the inherent parallelism in programs. M.S. thesis, Univ of Illinois at Urbane-Champlain, 1978.Google Scholar
Index Terms
- Array expansion
Recommendations
Array expansion
ACM International Conference on Supercomputing 25th Anniversary VolumeA common problem in restructuring programs for vector or parallel execution is the suppression of false dependencies which originate in the reuse of the same memory cell for unrelated values. The method is simple and well understood in the case of ...
L-shaped coprime array structures for DOA estimation
AbstractThis paper proposes a new sparse array geometry for 2-D (azimuth and elevation) direction-of-arrival (DOA) estimation based on coprime sampling. The proposed array structure is L-shaped coprime array (LCA) whose each portion is one dimensional ...
Array pattern optimization for a steerable circular isotropic antenna array using the firefly algorithm
In this paper, a steerable isotropic circular array antenna is designed to reduce the side lobe level (SLL), using an evolutionary optimization technique. Particle swarm optimization and the firefly algorithm are used to reduce the SLL, as well as to ...
Comments