Next: Glossary of Terms
Up: The Java Adlib API
Previous: The Java Adlib API
Contents
Adlib includes a family of related regular collective communication
operations, a set of collective gather
and scatter operations for more irregular communications, and a set
of reduction operations based on the corresponding Fortran 90 array
intrinsics. Reduction operations take one or more distributed arrays
as input. They combine the elements to produce one or more scalar values,
or arrays of lower rank. Adlib also provides a few I/O operations.
Only two public member parts, constructor(s) and an execute() method, are
described in this chapter.
All the input and output arrays and any parameters of the transformation are
passed to the constructor. During execution of constructor, all send messages,
receive messages, and internal copy operations implied by execution of the
schedule are enumerated and stored in light-weight data structures.
The execute() method nearly always involves communication. It
should of course be treated as a collective operation, executed by all
members of the active process group.
In this appendix we are using type variables
,
, and a notation like
Name
, Name
for schedule names. The variable
runs over
all primitive types and Java object types. The variable
typically runs over
all primitive types other than boolean.
Since each data type of Java initially has its own Adlib schedule class, we attach the type
variable to the name of method to represent scope of method.
A method Name
means that this particular method has all primitive
type classes and Java object type class (e.g. NameFloat,
NameDouble, ..., NameObject). A method Name
means that
this particular method has all primitive type classes other than boolean type.
Below we briefly discuss various terms and notations used, following
the subheadings used in the schedule definitions.
Next: Glossary of Terms
Up: The Java Adlib API
Previous: The Java Adlib API
Contents
Bryan Carpenter
2004-06-09