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.
1.8.6