Effectiveness of data dependence analysis
A methodology for evaluating the effectiveness of data dependence analyzers is presented. Using a compiler that can solve the affine memory disambiguation problem exactly and a dynamic tracer that can solve the data dependence problem exactly, it is shown that affine memory disambiguators are not po...
Gespeichert in:
Veröffentlicht in: | International Journal of Parallel Programming 1995-02, Vol.23 (1), p.63-81 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A methodology for evaluating the effectiveness of data dependence analyzers is presented. Using a compiler that can solve the affine memory disambiguation problem exactly and a dynamic tracer that can solve the data dependence problem exactly, it is shown that affine memory disambiguators are not powerful enough to find parallelism in practice. Most of the failure cases are due to the memory disambiguation approximation. Analyzing these cases shows that array privatization is a vital technique for parallelizing loops. It is also shown that the simple, efficient symbolic scheme works as well as the more complicated, general schemes for the benchmarks used. Delinearalizing linearized arrays is advocated. The results show that current data dependence analyzers are not powerful enough, but using the techniques discussed, compilers will be able to solve the large majority of intraprocedural cases seen in practice. |
---|---|
ISSN: | 0885-7458 1573-7640 |
DOI: | 10.1007/BF02577784 |