Next: Compilation Strategies for HPJava
Up: The HPspmd Programming Model
Previous: Adlib for HPJava
Contents
Discussion
We have reviewed the HPspmd programming model. It is a flexible hybrid
of HPF-like data-parallel language features and the popular,
library-oriented, low-level SPMD style, omitting some basic
assumptions of the HPF model. Moreover, we covered the importance of
integration of high-level libraries, such as numerical libraries,
parallel programming libraries with distributed arrays, and irregular
problem solving libraries, in the HPspmd programming model.
HPJava is an implementation of our HPspmd programming model. It
extends the Java language with some additional syntax and with some
pre-defined classes for handling multiarrays. By providing true
multidimensional arrays, multiarrays, array sections, control
constructs (e.g. on, overall, and at), HPJava
becomes a flexible and SPMD programming language.
For example with ghost regions the inner loop of algorithms for
stencil updates can be written in a simple way. Moreover, with
dimension splitting, parallel programming developers can implement low
level SPMD programs in relatively simple ways.
Adlib is an HPJava communication library and its collective operations
are regular communications, reduction operations, and irregular
communications, based on the communication schedule object.
Figure 3.20:
The HPJava Architecture.
|
|
Figure 3.20 shows the hierarchy of the HPJava
system we have seen in this chapter.
In the next chapter, we will review the HPJava compilation system.
Next: Compilation Strategies for HPJava
Up: The HPspmd Programming Model
Previous: Adlib for HPJava
Contents
Bryan Carpenter
2004-06-09