next up previous contents
Next: Methods Up: class Procs Previous: class Procs

Constructors and destructors

Procs(const int _rank, int* _shape, int* ids = 0)
The normal constructor. Initializes a Procs object describing a process grid of rank _rank and shape _shape. The rank is a non-negative integer. If it is zero the new group is a scalar ``grid'' containing a single process. The shape is a vector of _rank positive integer extents. The size, P, of the new grid is the product of the elements of _shape. This must be less than or equal to the size of the active process group.

If the optional argument ids is specified, this should be a vector of P distinct values, each in the range tex2html_wrap_inline14055 . A is the size of the group defined by the current value of apg. It defines a mapping of the new process group into the active process group. If the ids argument is omitted, the library selects an arbitrary mapping. In either case if P is less than A, some members of the active process group are not identified with any member of the new grid. At most one member of the new grid may be mapped to each process of the active group.

This constructor is a collective operation, and calls to it should obey the normal rules for collective operations.

Procs()
The default constructor is private. Creating an uninitialized Procs object is not allowed in normal code.

Procs(const Procs& p)
The copy constructor is private. Copying a Procs object is not allowed in normal code.

~Procs()
Destructor.



Guansong Zhang
Fri Oct 9 12:29:23 EDT 1998