|
ABSTRACT
The polyhedral model is a powerful framework to reason about high level loop transformations. Yet the lack of scalable algorithms and tools has deterred actors from both academia and industry to put this model to practical use. Indeed, for fundamental complexity reasons, its applicability has long been limited to simple kernels. Recent developments broke some generally accepted ideas about these limitations. In particular, new algorithms made it possible to compute the target code for full SPEC benchmarks while this code generation step was expected not to be scalable.Instancewise array dependence analysis computes a finite, intensional representation of the (statically unbounded) set of all dynamic dependences. This problem has always been considered non-scalable and/or an overkill with respect to less expressive and faster dependence tests. On the contrary, this article presents experimental evidence of its applicability to full SPEC CPU2000 benchmarks. To make this possible, we revisit the characterization of data dependences, considering relations between time dimensions of the transformed space. Beyond algorithmic benefits, this naturally leads to a novel way of reasoning about violated dependences across arbitrary transformation sequences. Reasoning about violated dependences relieves the compiler designer from the cumbersome task of implementing specific legality checks for each single transformation. It also allows, in the case of invalid transformations, to precisely determine the violated dependences that need to be corrected. Identifying these violations can in turn enable automatic correction schemes to fix an illegal transformation sequence with minimal changes.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
| |
3
|
U. Banerjee. Data dependence in ordinary programs. Master's thesis, Dept. of Computer Science, University of Illinois at Urbana-Champaign, November 1976.
|
| |
4
|
|
| |
5
|
D. Barthou. Array Dataflow Analysis in Presence of Non-affine Constraints. PhD thesis, Université de Versailles, France, Feb. 1998. http://www.prism.uvsq.fr/~bad/these.html.
|
| |
6
|
|
| |
7
|
C. Bastoul and P. Feautrier. Adjusting a program transformation for legality. Parallel processing letters, 15(1):3--17, Mar. 2005.
|
| |
8
|
F. Chow. Maximizing application performance through interprocedural optimization with the PathScale EKO compiler suite. http://www.pathscale.com/whitepapers.html, Aug. 2004.
|
 |
9
|
Albert Cohen , Marc Sigler , Sylvain Girbal , Olivier Temam , David Parello , Nicolas Vasilache, Facilitating the search for compositions of program transformations, Proceedings of the 19th annual international conference on Supercomputing, June 20-22, 2005, Cambridge, Massachusetts
[doi> 10.1145/1088149.1088169]
|
| |
10
|
J.-F. Collard. Parallélisation automatique des programmes à contrôle dynamique. PhD thesis, Université Pierre et Marie Curie (Paris 6), France, Jan. 1995. http://www.prism.uvsq.fr/~jfc/memoire.ps.
|
| |
11
|
|
 |
12
|
|
 |
13
|
|
| |
14
|
P. Feautrier. Parametric integer programming. RAIRO Recherche Opérationnelle, 22:243--268, Sept. 1988.
|
| |
15
|
P. Feautrier. Dataflow analysis of scalar and array references. Intl. J. of Parallel Programming, 20(1):23--53, Feb. 1991.
|
| |
16
|
|
| |
17
|
Sylvain Girbal , Nicolas Vasilache , Cédric Bastoul , Albert Cohen , David Parello , Marc Sigler , Olivier Temam, Semi-automatic composition of loop transformations for deep parallelism and memory hierarchies, International Journal of Parallel Programming, v.34 n.3, p.261-317, June 2006
[doi> 10.1007/s10766-006-0012-3]
|
 |
18
|
Gina Goff , Ken Kennedy , Chau-Wen Tseng, Practical dependence testing, Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, p.15-29, June 24-28, 1991, Toronto, Ontario, Canada
|
| |
19
|
M. Griebl. Automatic parallelization of loop programs for distributed memory architectures. Habilitation thesis. Facultät für Mathematik und Informatik, Universität Passau, 2004.
|
| |
20
|
F. Irigoin and R. Triolet. Computing dependence direction vectors and dependence cones with linear systems. Technical Report ENSMP-CAI-87-E94, Ecole des Mines de Paris, Fontainebleau (France), 1987.
|
| |
21
|
W. Kelly. Optimization within a unified transformation framework. Technical Report CS-TR-3725, University of Maryland, 1996.
|
| |
22
|
X. Kong, D. Klappholz, and K. Psarris. The i test: A new test for subscript data dependence. In ICPP'90 International Conference on Parallel Processing, pages 204--211, St. Charles, Aug. 1990.
|
 |
23
|
|
| |
24
|
|
| |
25
|
A. W. Lim and M. S. Lam. Communication-free parallelization via affine transformations. In 24th ACM Symp. on Principles of Programming Languages, pages 201--214, Paris, France, Jan. 1997.
|
| |
26
|
|
 |
27
|
|
 |
28
|
Dror E. Maydan , John L. Hennessy , Monica S. Lam, Efficient and exact data dependence analysis, Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, p.1-14, June 24-28, 1991, Toronto, Ontario, Canada
|
| |
29
|
P. Petersen and D. Padua. Experimental evaluation of some data dependence tests. Technical Report CSRD 1080, University of Illinois at Urbana-Champaign, Feb. 1991.
|
| |
30
|
|
| |
31
|
K. Psarris and K. Kyriakopoulos. An experimental evaluation of data dependence analysis techniques. IEEE Transactions on Parallel and Distributed Systems, 15(3):196--213, Mar. 2004.
|
 |
32
|
|
 |
33
|
|
 |
34
|
|
| |
35
|
|
| |
36
|
|
| |
37
|
N. Vasilache, C. Bastoul, and A. Cohen. Polyhedral code generation in the real world. In Proceedings of the International Conference on Compiler Construction (ETAPS CC'06), LNCS, pages 185--201, Vienna, Austria, Mar. 2006. Springer-Verlag.
|
| |
38
|
F. Vivien. Détection de parallélisme dans les boucles imbriquées. PhD thesis, ENS - Lyon, 1997.
|
| |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
CITED BY 3
|
|
|
|
|
Muthu Manikandan Baskaran , Nagavijayalakshmi Vydyanathan , Uday Kumar Reddy Bondhugula , J. Ramanujam , Atanas Rountev , P. Sadayappan, Compiler-assisted dynamic scheduling for effective parallelization of loop nests on multicore processors, Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, February 14-18, 2009, Raleigh, NC, USA
|
|
|
Muthu Manikandan Baskaran , Uday Bondhugula , Sriram Krishnamoorthy , J. Ramanujam , Atanas Rountev , P. Sadayappan, Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories, Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, February 20-23, 2008, Salt Lake City, UT, USA
|
|