next up previous contents
Next: Glossary of Terms Up: The Java Adlib API Previous: The Java Adlib API   Contents

General Features

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 $ T$, $ t$, and a notation like Name$ T$, Name$ t$ for schedule names. The variable $ T$ runs over all primitive types and Java object types. The variable $ t$ 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$ T$ means that this particular method has all primitive type classes and Java object type class (e.g. NameFloat, NameDouble, ..., NameObject). A method Name$ t$ 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 up previous contents
Next: Glossary of Terms Up: The Java Adlib API Previous: The Java Adlib API   Contents
Bryan Carpenter 2004-06-09