作者: Rudolf Eigenmann , William Joseph Blume
DOI:
关键词:
摘要: To effectively translate real programs written in standard, sequential languages into parallel computer programs, parallelizing compilers need advanced techniques such as powerful dependence tests, array privatization, generalized induction variable substitution, and reduction parallelization. All of these or can benefit from symbolic analysis. determine what kinds analysis significantly improve the effectiveness Fortran compilers, we compared automatically manually parallelized versions Perfect Benchmarks. The identified include: data tests for nonlinear expressions, constraint propagation, interprocedural constant summary information, run time tests. We have developed algorithms two techniques: propagation. For a test called Range Test. Test proves independence by determining whether certain inequalities hold logical permutation loop nest. use technique Propagation to prove inequalities. Propagation. computes range values that each take at point program. A is lower upper bound on taken variable. propagation also includes facility compare arbitrary expressions under constraints imposed set ranges. both simple but slow algorithm fast demand-driven complex compute been fully implemented Polaris, compiler being University Illinois. found automatic are reasonably efficient.