scalable collective communication for a subset of members of a parallel VTK application More...
#include <vtkSubGroup.h>
Inherits vtkObject.
Public Types | |
enum | { MINOP = 1, MAXOP = 2, SUMOP = 3 } |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkSubGroup * | NewInstance () const |
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
int | Initialize (int p0, int p1, int me, int tag, vtkCommunicator *c) |
int | Gather (int *data, int *to, int length, int root) |
int | Gather (char *data, char *to, int length, int root) |
int | Gather (float *data, float *to, int length, int root) |
int | Broadcast (float *data, int length, int root) |
int | Broadcast (double *data, int length, int root) |
int | Broadcast (int *data, int length, int root) |
int | Broadcast (char *data, int length, int root) |
int | ReduceSum (int *data, int *to, int length, int root) |
int | ReduceMax (float *data, float *to, int length, int root) |
int | ReduceMax (double *data, double *to, int length, int root) |
int | ReduceMax (int *data, int *to, int length, int root) |
int | ReduceMin (float *data, float *to, int length, int root) |
int | ReduceMin (double *data, double *to, int length, int root) |
int | ReduceMin (int *data, int *to, int length, int root) |
int | AllReduceUniqueList (int *list, int len, int **newList) |
int | MergeSortedUnique (int *list1, int len1, int *list2, int len2, int **newList) |
void | setGatherPattern (int root, int length) |
int | getLocalRank (int processID) |
int | Barrier () |
void | PrintSubGroup () const |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkSubGroup * | SafeDownCast (vtkObjectBase *o) |
static vtkSubGroup * | New () |
static int | MakeSortedUnique (int *list, int len, int **newList) |
Public Attributes | |
int | tag |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkSubGroup () | |
~vtkSubGroup () | |
scalable collective communication for a subset of members of a parallel VTK application
This class provides scalable broadcast, reduce, etc. using only a vtkMultiProcessController. It does not require MPI. Users are vtkPKdTree and vtkDistributedDataFilter.
Definition at line 50 of file vtkSubGroup.h.
typedef vtkObject vtkSubGroup::Superclass |
Definition at line 53 of file vtkSubGroup.h.
anonymous enum |
Enumerator | |
---|---|
MINOP | |
MAXOP | |
SUMOP |
Definition at line 59 of file vtkSubGroup.h.
|
protected |
|
protected |
|
static |
|
virtual |
|
static |
|
protectedvirtual |
vtkSubGroup* vtkSubGroup::NewInstance | ( | ) | const |
|
virtual |
|
static |
int vtkSubGroup::Initialize | ( | int | p0, |
int | p1, | ||
int | me, | ||
int | tag, | ||
vtkCommunicator * | c | ||
) |
Initialize a communication subgroup for the processes with rank p0 through p1 of the given communicator. (So vtkSubGroup is limited to working with subgroups that are identified by a contiguous set of rank IDs.) The third argument is the callers rank, which must in the range from p0 through p1.
int vtkSubGroup::Gather | ( | int * | data, |
int * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Gather | ( | char * | data, |
char * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Gather | ( | float * | data, |
float * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Broadcast | ( | float * | data, |
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Broadcast | ( | double * | data, |
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Broadcast | ( | int * | data, |
int | length, | ||
int | root | ||
) |
int vtkSubGroup::Broadcast | ( | char * | data, |
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceSum | ( | int * | data, |
int * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMax | ( | float * | data, |
float * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMax | ( | double * | data, |
double * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMax | ( | int * | data, |
int * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMin | ( | float * | data, |
float * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMin | ( | double * | data, |
double * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::ReduceMin | ( | int * | data, |
int * | to, | ||
int | length, | ||
int | root | ||
) |
int vtkSubGroup::AllReduceUniqueList | ( | int * | list, |
int | len, | ||
int ** | newList | ||
) |
int vtkSubGroup::MergeSortedUnique | ( | int * | list1, |
int | len1, | ||
int * | list2, | ||
int | len2, | ||
int ** | newList | ||
) |
void vtkSubGroup::setGatherPattern | ( | int | root, |
int | length | ||
) |
int vtkSubGroup::getLocalRank | ( | int | processID | ) |
int vtkSubGroup::Barrier | ( | ) |
void vtkSubGroup::PrintSubGroup | ( | ) | const |
|
static |
int vtkSubGroup::tag |
Definition at line 102 of file vtkSubGroup.h.