Next:
Introduction
Up:
Parallel Programming in HPJava
Previous:
Parallel Programming in HPJava
Index
Contents
Introduction
Getting Started
Installing hpjdk
Compiling and Running an HPJava program
Multiarrays
Multidimensional Arrays and Multiarrays
Syntax
Some Semantic Issues
Sections
Checking Subscripts
Managing Expectations
Processes and Distributed Arrays
HPspmd Classes
Process Grids
Distributed Arrays
Parallel Programming
Locations
A Complete Example
Multi-process and Multithreaded Execution Models
More on Mapping Arrays
Other Distribution Formats
Ghost Regions
Collapsed Distributions and Sequential Dimensions
Distribution Groups and Replication
Distributed Array Sections
Two-dimensional Fourier transform
Cholesky decomposition
Matrix multiplication with reduced memory
Subranges
Restricted Groups
Mapping of distributed array sections
Rank-0 Distributed Arrays
Distributed Array Restriction
Some Rules and Definitions
Rules for distributed control constructs
Rules for distributed array constructors
Rules for access to distributed array elements
Changes for ghost regions
A final rule for array element access
A recommendation for updating variables
A Distributed Array Communication Library
Regular collective communications
Reductions
Irregular collective communications
I/O
Schedules
Low level SPMD programming
An Example
Dimension Splitting
Block Parameters
Ghost regions and dimension splitting
Local blocks of subranges
Reduction to Java arrays
Local arrays
An extended example: prefix computation
Optimization for block distribution formats
Cyclic distribution formats
Optimization for ``general'' distribution formats
Non-local blocks
The crds() method
Translation scheme
Preliminaries
On multiarray types
HPspmd classes
Static Semantic Checking
Subscripting
Pre-translation
Restricted Form
Expression simplification
Applying the simplify algorithm
Basic translation
Translation functions and schemas
Translating variable declarations
Translating method declarations
Translating constructor declarations
Translating on constructs
Translating at constructs
Translating overall constructs
Translating global index expression
Translating variable accesses
Translating assignment expressions
Translating multiarray creation
Translating element access
Translating array sections
Translating field accesses
Translating method invocations
Translating constructor invocations
Translating distributed array restriction
Translating other statement expressions
Translating group restriction
Translating subrange expressions
Translating casts
Translating instanceof
Translating reference equality
Translating null
Support for generic library methods
Support Classes
Index
Bryan Carpenter 2003-04-15