next up previous contents
Next: Effect and Restrictions Up: The Java Adlib API Previous: Replicated Data   Contents

Remap

A remap() operation is a communication schedule for copying the elements of one distributed array to another. The remap() method takes two distributed array arguments--a source array and a destination. The source and destination must have the same size, shape and same element-types, but no relation between the mapping of the two arrays is required. If the destination array has replicated mapping, the remap() operation will broadcast source values to all copies of the destination array elements. The remap() method is a static member of the Adlib class. This operation can be applied to various ranks and type of array. Any section of an array with any allowed distribution format can be used. Supported element types include Java primitive and Object types. A general signature of the remap() function is

$\displaystyle \begin{minipage}[t]{\linewidth}\small\begin{tabbing}
\verb$ void...
...$$T$\verb$  ...

where the variable $ T$ runs over all primitive types and Object, and the notation $ T$ # means a multiarray of arbitrary rank, with elements of type $ T$. The remap method is implemented by a schedule object with HPspmd class Remap$ T$. Each primitive type and Object has its own schedule class. This class has a constructor with arguments identical to the method above, and has one public method with no arguments called execute(), which executes the schedule. The effective public interface of the Remap$ T$ class is

$\displaystyle \begin{minipage}[t]{\linewidth}\small\verb$ public class Remap$$T...
...ublic void execute () { ... }$\\
\verb$ . . .$\\
\verb$ }$
\end{minipage}
$

The source array is the source and the destination array is destination.

Subsections
next up previous contents
Next: Effect and Restrictions Up: The Java Adlib API Previous: Replicated Data   Contents
Bryan Carpenter 2004-06-09