41 #ifndef __vtkSubGroup_h
42 #define __vtkSubGroup_h
44 #include "vtkParallelCoreModule.h"
45 #include "vtkObject.h"
54 virtual void PrintSelf(ostream &os, vtkIndent indent);
59 enum {MINOP = 1, MAXOP = 2, SUMOP = 3};
69 int Gather(
int *data,
int *to,
int length,
int root);
70 int Gather(
char *data,
char *to,
int length,
int root);
71 int Gather(
float *data,
float *to,
int length,
int root);
72 #ifdef VTK_USE_64BIT_IDS
73 int Gather(vtkIdType *data, vtkIdType *to,
int length,
int root);
75 int Broadcast(
float *data,
int length,
int root);
76 int Broadcast(
double *data,
int length,
int root);
77 int Broadcast(
int *data,
int length,
int root);
78 int Broadcast(
char *data,
int length,
int root);
79 #ifdef VTK_USE_64BIT_IDS
80 int Broadcast(vtkIdType *data,
int length,
int root);
82 int ReduceSum(
int *data,
int *to,
int length,
int root);
83 int ReduceMax(
float *data,
float *to,
int length,
int root);
84 int ReduceMax(
double *data,
double *to,
int length,
int root);
85 int ReduceMax(
int *data,
int *to,
int length,
int root);
86 int ReduceMin(
float *data,
float *to,
int length,
int root);
87 int ReduceMin(
double *data,
double *to,
int length,
int root);
88 int ReduceMin(
int *data,
int *to,
int length,
int root);
90 int AllReduceUniqueList(
int *list,
int len,
int **newList);
91 int MergeSortedUnique(
int *list1,
int len1,
int *list2,
int len2,
int **newList);
93 void setGatherPattern(
int root,
int length);
94 int getLocalRank(
int processID);
98 void PrintSubGroup()
const;
100 static int MakeSortedUnique(
int *list,
int len,
int **newList);
109 int computeFanInTargets();
110 void restoreRoot(
int rootLoc);
111 void moveRoot(
int rootLoc);
112 void setUpRoot(
int root);
scalable collective communication for a subset of members of a parallel VTK application ...
Used to send/receive messages in a multiprocess environment.
Multiprocessing communication superclass.