next up previous contents
Next: Benchmarking HPJava, Part I: Up: Optimization Strategies for HPJava Previous: Case Study: Laplace Equation   Contents


Discussion

We have reviewed some optimization schemes such as Partial Redundancy Elimination (PRE), Strength Reduction (SR), Dead Code Elimination (DCE), and Loop Unrolling (LU) algorithms to optimize the subscript expression of a multiarray element access and control variables for overall constructs. PRE and SR are good candidates to make the natural complexity of the subscript expression of a multiarray element access simpler. Moreover, with some compiler information and the help of the unrolling technique, control variables generated by the naive translation for the overall construct can be hoisted ouside the outermost overall construct. Since the control variables are often dead, the Dead Code Elimination algorithm can be applied as well. We have introduced the HPJava optimization strategy, HPJOPT2 we plan to apply. It hoists control variables to the outermost loop by using compiler information if partially redundant, applies Dead Code Elimination, and finally applies Partially Redundancy Elimination and Strength Reduction. HPJOPT2 originally targets the subscript expressions of a multiarray element access and control variables for overall constructs. However, it will also generally optimize complex expressions, eliminate some dead codes, and reduce expressions in strength in HPJava programs.
next up previous contents
Next: Benchmarking HPJava, Part I: Up: Optimization Strategies for HPJava Previous: Case Study: Laplace Equation   Contents
Bryan Carpenter 2004-06-09