Next: Partial Redundancy Elimination
Up: Towards Efficient Compilation of
Previous: Discussion
Contents
Optimization Strategies for HPJava
In the previous chapters, we have reviewed the HPspmd programming
model, the HPJava language, and its compilation strategies. In the
section 4.5, we have seen the basic translation
scheme for the current HPJava compiler. We will sometimes call the
basic translation scheme, naive translation. That is, any
optimizations are not yet applied. Thus in this chapter we will
introduce some optimization strategies suitable for speeding up the
current naive translation of HPJava.
Based on observations for parallel algorithms such as direct
matrix multiplication from Figure 3.13, Laplace
equation using red-black relaxation from Figure 3.11,
Laplace equation using Jacobi relaxation from Figure 3.7,
etc, the majority of multiarray element accesses are generally located
inside innermost overall loops.
The main target of our optimization strategies is the complexity of
the associated terms in the subscript expression of a multiarray
element access, and the cost of HPJava compiler-generated method
calls (localBlock(), etc).
The following optimization strategies should remove overheads of
the naive translation scheme (especially for the overall
construct), and speed up HPJava.
Subsections
Next: Partial Redundancy Elimination
Up: Towards Efficient Compilation of
Previous: Discussion
Contents
Bryan Carpenter
2004-06-09