Next: Q3 - Local Dependence
Up: Partial Differential Equation
Previous: Laplace Equation Using Red-Black
Contents
3-Dimensional Diffusion Equation
Diffusion is an everyday experience; a hot cup of tea distributes its
thermal energy or an uncorked perfume bottle distributes its scent
throughout a room.
Figure 6.5 shows the performance comparison of
the 3D diffusion equation with the sizes of 32
32
32, 64
64
64, 128
128
128 in
HPJava, Java, and C on the Linux machine.
Figure 6.5:
3D Diffusion Equation in Naive HPJava, PRE,
HPJOPT2, Java, and C on Linux machine
|
|
First, we need to see the Java performance from 6.5.
The performance of Java over the C performance is up to 106%, and the
average is 98%. This means that we can expect the Java implementation
to be competitive with the C implementation.
The performance of naive translation over Java is up to 90%, and the
average is 62%.
We meet a situation very similar to the Laplace equation. That is,
we expected the performance of the naively translated 3D diffusion
equation to be poor because of the nature of naive translation schemes
for overall construct and the subscript expression of a multiarray
element access. The program with only PRE applied has performance
improvement over the naive translation. It is improved by up to 160%,
and the average is 130%. The program optimized by HPJOPT2 is improved
by up to 200%, and the average is 188%. The HPJOPT2 optimization
gives a dramatic speedup to the HPJava translation.
As expected, an HPJava program for the 3D diffusion equation maximally
optimized by HPJOPT2 is very competitive with Java and C
implementations. When the problem size is increased like 128
128
128, the HPJava program is tremendously better than Java
and C (161% and 141%). This is a very good result since the HPJava
system aims at scientific and engineering computing applications with
the large problem size.
Next: Q3 - Local Dependence
Up: Partial Differential Equation
Previous: Laplace Equation Using Red-Black
Contents
Bryan Carpenter
2004-06-09