| Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. ACM SIGPLAN Notices, 33(5):60--71, 1998. |
....we could use an array access representation that can fully express non contiguous reference patterns. While this would complicate the symbolic comparisons of the access ranges, it could obviate the need for the logical permutations. An effort to do so is underway in a related project [28]. Our algorithm determines a legal loop permutation by recursively finding a legal permutation of the inner loops, then finding a location where it may safely insert the next outer loop in this ordering. The final location of the outer loop is found by repeatedly moving inwards by one until it ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizations. In Proceedings of the ACM SIGPLAN 98 Conference on Programming Language Design and Implementation, June 1998. 23
....completely analyzed before the loop execution in an inspector phase. This inspector would be equivalent to a LRPD test (or simpler run time check) of a generalized address descriptor. Such address descriptors have been implemented in a more restricted form (for structured control flow graphs) in [10]. Grouping of Related References We say that two memory addresses are related if they can be expressed as a function of the same base pointer. For example, when subscripts are of the form ptr affine function, then all addresses starting at the pointer ptr are related. For example, in SPICE, we ....
Yunheung Paek, Jay Hoeflinger, and David Padua. Simplification of Array Access Patterns for Compiler Optimizat ions. In Proceedings of the SIGPLAN
....as prefetching [3] exploit regular access patterns in order to overlap memory accesses with computation and, thus, reduce memory stall cycles. The benefit of these mechanisms depends on the regularity of an application s memory accesses. Although several access descriptors have been proposed [2, 4], access regularity is an intuitive concept for which few formal metrics exist [1] We consider a program to be regular if it contains array references with identifiable access patterns that are repeated as memory is traversed. For our purposes, we restrict this definition to linear patterns. We ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. In Proceedings of ACM PLDI, volume 33, pages 60--71, May 1998.
....than for individual polyhedra. Guarded Array Regions[GLL97] Represent high level constraints on accesses explicitly to ensure as little approximation as possible. E#cient intersection is promoted through aggressive simplification of the high level representation. Access Region Descriptors[PHP98] Represent extremely precise array region information through specification of strides and spans. E#cient intersection is promoted through aggressive simplification of the high level representation; loop analysis is kept e#cient through the avoidance of dataflow iteration. Thus we have steadily ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizations. ACM SIGPLAN Notices, 33(5):60-- 71, May 1998.
....complications may arise in the presence of Fortran style array reshapes, for which no general method for relating accesses interprocedurally has been devised. Furthermore, this scheme relies on the dubious assumption that all array access occur within declared bounds. Recently, Paek, et al. PHP98] have proposed a representation based on the Linear Memory Access Descriptor (LMAD) The LMAD achieves maximum precision by describing accesses uniformly as a (recursive) sequence of equidistant element references. An arbitrarily complex multidimensional traversal can be uniquely represented (up ....
....The original MCA merely classifies memory accesses by type of access; this work introduces the finer classification within write accesses of the value written, producing an effective Sparse Constant Propagation algorithm which operates within the framework of MCA. 7 9 Conclusion Paek, et al. PHP98] expressed the belief that simplification of array access patterns using the notions of strides and spans would benefit all array related analyses. This study has shown how this technique may be profitably applied to the long standing Sparse Constant Propagation problem. A number of other ....
Yunhueng Paek, Jay Hoeflinger, and David Padua. Simplification of array access patterns for compiler optimizations. ACM SIGPLAN Notices, 33(5):60--71, May 1998.
....attendant rise in implementation complexity. Department of Computer Science, Courant Institute of Mathematical Sciences, New York University, 251 Mercer St. New York, NY 10012 1185, nschwart cs.nyu.edu. 1 1. 1 LMADs in Fortran However, the recent introduction of the Access Region Descriptor[PHP98] ARD) as a summarization technique coupled with Memory Classification Analysis[Hoe98] MCA) for the Polaris Fortran compiler[PEH 93] has been shown to be a firm foundation on which to build a practical array level data flow framework. The ARD is a complex data structure whose centerpiece ....
Yunhueng Paek, Jay Hoeflinger, and David Padua. Simplification of array access patterns for compiler optimizations. ACM SIGPLAN Notices, 33(5):60--71, May 1998.
.... the asymptotic complexity increases the problem size can decrease dramatically (depending on the average length of intervals) In our implementation the compile time detection of these types of semiirregular access patterns is obtained using recently developed array region analysis techniques [17]. It important to mention here the possibility of applying the run time test somewhat conservatively by always marking whole intervals even if only some of the addresses within the interval have actually been referenced during loop execution. This will reduce overhead and, in the case of fixed ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizat ions. In Proc. of the SIGPLAN 1998 Conf. on Programming Language Design and Implementation, Montreal, Canada, June 1998.
....parallel merge of complex data structures. While the asymptotic complexity increases the problem size can decrease dramatically (depending on the average length of intervals) We detect of these types of semi irregular access patterns by using recently developed array region analysis techniques [17]. 5 Implementation Issues Merging the Phases of LRPD Test In Section 3 we have presented the LRPD test as a sequence of phases: initialization, checkpointing, speculative execution, analysis and possible sequential re execution. Every phase adds its contribution to the critical path of the ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizat ions. In Proc. of the SIGPLAN 1998 Conf. on Programming Language Design and Implementation, Montreal, Canada, June 1998.
....completely analyzed before the loop execution in an inspector phase. This inspector would be equivalent to a LRPD test (or simpler run time check) of a generalized address descriptor. Such address descriptors have been implemented in a more restricted form (for structured control flow graphs) in [11]. WF NO RW NO RW NO RO RO WF NO RO WF RO RW RO RW RW WF RW WF RW NO NO RW RO NO RW NO WF NO ANY NO ANY NO RW NO NO NO NO WF A NO RO RO NO RO NO B WF NO WF NO C D H G F E Fig. 2. Simple aggregation situations. The currently visited ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizat ions. In Proc. of the SIGPLAN 1998 Conference on Programming Language Design and Implementation, Montreal, Canada, June 1998.
.... to indirections have already introduced in [2] We also intend to perform the integration of our automated modeling approach in program optimization frameworks that support it, for example by providing the analysis needed to extract the input parameters from the code (Access Region Descriptors [8] could be used as a systematic representation for the access patterns) ....
Paek, Y., Hoeflinger, J.P., Padua, D.: Simplification of array access patterns for compiler optimizations. Proc. ACM SIGPLAN'98 Conference on Programming Language Design and Implementation (PLDI). (1998) 60--71
....of DO loop nests (henceforth called phases) where at most one level of parallelism is exploited in each nest. IF statements, WHILE loops, DO loops and other constructs control the execution of the loop nests. Our techniques are based on the Linear Memory Access Descriptor (LMAD) introduced in [13], which can be accurately computed in relatively complex situations such as array reshaping resulting from subroutine calls and non affine expressions in subscript expressions and loop bounds. To generate descriptors of memory access patterns we assume that loops have been normalized and all ....
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1994.
No context found.
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1994.
No context found.
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. In Proceedings of PLDI '98, 1998.
....Existing compiler techniques for finding parallelism and generating communication primitives depend heavily on the accuracy of array access analysis, which identifies the array elements accessed within a certain section of code by a particular reference. Our prior observation on benchmarks [41] indicated that the accuracy of this analysis relies greatly on the representational power of the array region descriptor, which is used to summarize array accesses in the analysis. In general, the accuracy of a descriptor is sensitive to array 6 subscripting patterns. Therefore, to find a ....
....motivated us to develop two new descriptors, called the linear memory access descriptor (LMAD) and the iteration descriptor (ID) which are indispensable ingredients of our compiler analysis work. This section will present their main concepts. 7 4. 1 Linear Memory Access Descriptors In the LMAD [41], accessing an array is viewed as traversing a linear memory space. For example, in Figure 1, the two dimensional array access is, in reality, the traversal in a linear memory space starting from the base address # ( the memory location for A(1,4) all the way to # 2#K (M#1)#N ( the location ....
[Article contains additional citation context not shown here]
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizations. Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1998. 32
....of dependence testing techniques with a limited domain of applicability is the limited form typically used for representing memory accesses. Triplet notation (begin : end : stride) and various derivatives of this form have been tried [2, 6, 18] as have sets of linear constraints. As indicated in [8, 15], neither of these forms can handle all types of memory accesses that are usable within programs. This represents a further limitation on these dependence testing techniques. We have observed that the equation solving paradigm for detecting dependences is unnecessarily confining, and too slow in ....
....limitation on these dependence testing techniques. We have observed that the equation solving paradigm for detecting dependences is unnecessarily confining, and too slow in some cases. Based on our observations, we have developed representational forms, the Linear Memory Access Descriptor (LMAD) [14, 15] and the Access Region Descriptor (ARD) a variation of the LMAD extended for dependence analysis) 7] which can represent precisely all types of memory accesses expressible in a Fortran program. We have also developed a dependence testing framework [8] which does not use equation solving ....
[Article contains additional citation context not shown here]
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of Array Access Patterns for Compiler Optimizations. Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, June 1998.
No context found.
Y. Paek, J. Hoeflinger, and D. Padua. Simplification of array access patterns for compiler optimizations. ACM SIGPLAN Notices, 33(5):60--71, 1998.
No context found.
Y. Paek, J. Hoeflinger, and D. Padua, "Simplification of Array Access Patterns for Compiler Optimizations". In Proceedings of the ACM SIGPLAN 98 Conference on Programming Language Design and Implementation, June 1998. 23 24
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC