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: Benchmarking HPJava, Part I:
Up: Optimization Strategies for HPJava
Previous: Case Study: Laplace Equation
Contents
Bryan Carpenter
2004-06-09