ACM Home Page
Please provide us with feedback. Feedback
Violated dependence analysis
Full text PdfPdf (355 KB)
Source International Conference on Supercomputing archive
Proceedings of the 20th annual international conference on Supercomputing table of contents
Cairns, Queensland, Australia
SESSION: Miscellaneous table of contents
Pages: 335 - 344  
Year of Publication: 2006
ISBN:1-59593-282-8
Authors
Nicolas Vasilache  Paris-Sud University
Cedric Bastoul  Paris-Sud University
Albert Cohen  Paris-Sud University
Sylvain Girbal  Paris-Sud University
Sponsors
SIGARCH: ACM Special Interest Group on Computer Architecture
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 55,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1183401.1183448
What is a DOI?

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
 
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
18
 
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
 
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


Collaborative Colleagues:
Nicolas Vasilache: colleagues
Cedric Bastoul: colleagues
Albert Cohen: colleagues
Sylvain Girbal: colleagues