next up previous contents
Next: Example data parallel Java Up: HPJava: Work in progress. Previous: HPJava: Work in progress.   Contents

Parallel arrays and data parallel computation

Our experimental implementation of parallel arrays for Java is similar to the array model of the C++ library, Adlib, developed by one us. (A similar model is also being used in the NPAC PCRC library--it is based on the HPF distributed data model.)

In Java the distribution of an array is parametrized by a member of the Array class (as it turns out the Java Array object is more akin to an HPF template than a data array). An Array object is defined in terms a target group of processes and a set of distributed index ranges, one per array dimension. The group of processes is some multi-dimensional process grid represented by an object from the Procs class. Each distributed index range is represented by an object from the Range class.

Any parallel Java application is written as a a class extending the library class Node. The Node class maintains some global information and provides various collective operations on arrays. The code for the ``main program'' goes in the run member of the application class.



Subsections
next up previous contents
Next: Example data parallel Java Up: HPJava: Work in progress. Previous: HPJava: Work in progress.   Contents
Bryan Carpenter 2002-07-12