next up previous contents
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 up previous contents
Next: Partial Redundancy Elimination Up: Towards Efficient Compilation of Previous: Discussion   Contents
Bryan Carpenter 2004-06-09