VTK
9.0.2
|
Used to send/receive messages in a multiprocess environment. More...
#include <vtkCommunicator.h>
Classes | |
class | Operation |
A custom operation to use in a reduce command. More... | |
Public Types | |
enum | Tags { BROADCAST_TAG = 10 , GATHER_TAG = 11 , GATHERV_TAG = 12 , SCATTER_TAG = 13 , SCATTERV_TAG = 14 , REDUCE_TAG = 15 , BARRIER_TAG = 16 } |
enum | StandardOperations { MAX_OP , MIN_OP , SUM_OP , PRODUCT_OP , LOGICAL_AND_OP , BITWISE_AND_OP , LOGICAL_OR_OP , BITWISE_OR_OP , LOGICAL_XOR_OP , BITWISE_XOR_OP } |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkCommunicator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | SetNumberOfProcesses (int num) |
Set the number of processes you will be using. More... | |
virtual int | GetNumberOfProcesses () |
virtual int | GetLocalProcessId () |
Tells you which process [0, NumProcess) you are in. More... | |
int | Send (vtkDataObject *data, int remoteHandle, int tag) |
This method sends a data object to a destination. More... | |
int | Send (vtkDataArray *data, int remoteHandle, int tag) |
This method sends a data array to a destination. More... | |
virtual int | SendVoidArray (const void *data, vtkIdType length, int type, int remoteHandle, int tag)=0 |
Subclasses have to supply this method to send various arrays of data. More... | |
int | Send (const int *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned int *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const short *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const unsigned short *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const long *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const unsigned long *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const unsigned char *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const char *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const signed char *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const float *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const double *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const long long *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const unsigned long long *data, vtkIdType length, int remoteHandle, int tag) |
int | Send (const vtkMultiProcessStream &stream, int remoteId, int tag) |
int | Receive (vtkDataObject *data, int remoteHandle, int tag) |
This method receives a data object from a corresponding send. More... | |
vtkDataObject * | ReceiveDataObject (int remoteHandle, int tag) |
The caller does not have to know the data type before this call is made. More... | |
int | Receive (vtkDataArray *data, int remoteHandle, int tag) |
This method receives a data array from a corresponding send. More... | |
virtual int | ReceiveVoidArray (void *data, vtkIdType maxlength, int type, int remoteHandle, int tag)=0 |
Subclasses have to supply this method to receive various arrays of data. More... | |
int | Receive (int *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned int *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (short *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (unsigned short *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (long *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (unsigned long *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (unsigned char *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (char *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (signed char *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (float *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (double *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (unsigned long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
int | Receive (vtkMultiProcessStream &stream, int remoteId, int tag) |
virtual vtkIdType | GetCount () |
Returns the number of words received by the most recent Receive(). More... | |
virtual void | Barrier () |
Will block the processes until all other processes reach the Barrier function. More... | |
int | Broadcast (int *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned int *data, vtkIdType length, int srcProcessId) |
int | Broadcast (short *data, vtkIdType length, int srcProcessId) |
int | Broadcast (unsigned short *data, vtkIdType length, int srcProcessId) |
int | Broadcast (long *data, vtkIdType length, int srcProcessId) |
int | Broadcast (unsigned long *data, vtkIdType length, int srcProcessId) |
int | Broadcast (unsigned char *data, vtkIdType length, int srcProcessId) |
int | Broadcast (char *data, vtkIdType length, int srcProcessId) |
int | Broadcast (signed char *data, vtkIdType length, int srcProcessId) |
int | Broadcast (float *data, vtkIdType length, int srcProcessId) |
int | Broadcast (double *data, vtkIdType length, int srcProcessId) |
int | Broadcast (long long *data, vtkIdType length, int srcProcessId) |
int | Broadcast (unsigned long long *data, vtkIdType length, int srcProcessId) |
int | Broadcast (vtkDataObject *data, int srcProcessId) |
int | Broadcast (vtkDataArray *data, int srcProcessId) |
int | Broadcast (vtkMultiProcessStream &stream, int srcProcessId) |
int | Gather (const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId) |
int | Gather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
int | Gather (vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId) |
Gathers vtkDataObject (sendBuffer ) from all ranks to the destProcessId . More... | |
int | Gather (const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer, int destProcessId) |
Gathers vtkMultiProcessStream (sendBuffer ) from all ranks to the destProcessId . More... | |
int | GatherV (const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as parameters For the second GatherV variant, recvLengths and offsets are not known on destProcessId . More... | |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId) |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
int | GatherV (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId) |
Collects data objects in the process with id destProcessId . More... | |
int | Scatter (const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const long *sendBuffer, long *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int srcProcessId) |
int | Scatter (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId) |
int | ScatterV (const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | ScatterV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
int | AllGather (const int *sendBuffer, int *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length) |
int | AllGather (const short *sendBuffer, short *recvBuffer, vtkIdType length) |
int | AllGather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length) |
int | AllGather (const long *sendBuffer, long *recvBuffer, vtkIdType length) |
int | AllGather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length) |
int | AllGather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length) |
int | AllGather (const char *sendBuffer, char *recvBuffer, vtkIdType length) |
int | AllGather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length) |
int | AllGather (const float *sendBuffer, float *recvBuffer, vtkIdType length) |
int | AllGather (const double *sendBuffer, double *recvBuffer, vtkIdType length) |
int | AllGather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length) |
int | AllGather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length) |
int | AllGather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
int | AllGatherV (const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets) |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId) |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation, int destProcessId) |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation) |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation) |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation) |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation) |
virtual int | BroadcastVoidArray (void *data, vtkIdType length, int type, int srcProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | GatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int destProcessId) |
virtual int | GatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type, int destProcessId) |
virtual int | ScatterVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int srcProcessId) |
virtual int | ScatterVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int type, int srcProcessId) |
virtual int | AllGatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type) |
virtual int | AllGatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type) |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation, int destProcessId) |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation, int destProcessId) |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation) |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation) |
virtual int | ComputeGlobalBounds (int processorId, int numProcesses, vtkBoundingBox *bounds, int *rightHasBounds=nullptr, int *leftHasBounds=nullptr, int hasBoundsTag=288402, int localBoundsTag=288403, int globalBoundsTag=288404) |
Determine the global bounds for a set of processes. More... | |
![]() | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkCommunicator * | SafeDownCast (vtkObjectBase *o) |
static void | SetUseCopy (int useCopy) |
static int | GetParentProcessor (int pid) |
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for getting the right processor since it is 1 + theLeftProcessor. More... | |
static int | GetLeftChildProcessor (int pid) |
static int | MarshalDataObject (vtkDataObject *object, vtkCharArray *buffer) |
Convert a data object into a string that can be transmitted and vice versa. More... | |
static int | UnMarshalDataObject (vtkCharArray *buffer, vtkDataObject *object) |
static vtkSmartPointer< vtkDataObject > | UnMarshalDataObject (vtkCharArray *buffer) |
Same as UnMarshalDataObject(vtkCharArray*, vtkDataObject*) except that this method doesn't need to know the type of the data object a priori. More... | |
![]() | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
int | WriteDataArray (vtkDataArray *object) |
int | ReadDataArray (vtkDataArray *object) |
vtkCommunicator () | |
~vtkCommunicator () override | |
int | SendElementalDataObject (vtkDataObject *data, int remoteHandle, int tag) |
int | GatherV (vtkDataArray *sendArray, vtkDataArray *recvArray, vtkSmartPointer< vtkDataArray > *recvArrays, int destProcessId) |
GatherV collects arrays in the process with id destProcessId . More... | |
int | GatherVElementalDataObject (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *receiveData, int destProcessId) |
int | ReceiveDataObject (vtkDataObject *data, int remoteHandle, int tag, int type=-1) |
int | ReceiveElementalDataObject (vtkDataObject *data, int remoteHandle, int tag) |
int | ReceiveMultiBlockDataSet (vtkMultiBlockDataSet *data, int remoteHandle, int tag) |
![]() | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
int | MaximumNumberOfProcesses |
int | NumberOfProcesses |
int | LocalProcessId |
vtkIdType | Count |
![]() | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Static Protected Attributes | |
static int | UseCopy |
Used to send/receive messages in a multiprocess environment.
This is an abstract class which contains functionality for sending and receiving inter-process messages. It contains methods for marshaling an object into a string (currently used by the MPI communicator but not the shared memory communicator).
Definition at line 50 of file vtkCommunicator.h.
typedef vtkObject vtkCommunicator::Superclass |
Definition at line 54 of file vtkCommunicator.h.
Enumerator | |
---|---|
BROADCAST_TAG | |
GATHER_TAG | |
GATHERV_TAG | |
SCATTER_TAG | |
SCATTERV_TAG | |
REDUCE_TAG | |
BARRIER_TAG |
Definition at line 74 of file vtkCommunicator.h.
Enumerator | |
---|---|
MAX_OP | |
MIN_OP | |
SUM_OP | |
PRODUCT_OP | |
LOGICAL_AND_OP | |
BITWISE_AND_OP | |
LOGICAL_OR_OP | |
BITWISE_OR_OP | |
LOGICAL_XOR_OP | |
BITWISE_XOR_OP |
Definition at line 85 of file vtkCommunicator.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
Reimplemented in vtkMPICommunicator, vtkSubCommunicator, vtkSocketCommunicator, and vtkDummyCommunicator.
|
static |
|
protectedvirtual |
Reimplemented in vtkMPICommunicator, vtkSubCommunicator, vtkSocketCommunicator, and vtkDummyCommunicator.
vtkCommunicator* vtkCommunicator::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkMPICommunicator, vtkSubCommunicator, vtkSocketCommunicator, and vtkDummyCommunicator.
|
virtual |
Set the number of processes you will be using.
This defaults to the maximum number available. If you set this to a value higher than the default, you will get an error.
Reimplemented in vtkSocketCommunicator.
|
virtual |
|
virtual |
Tells you which process [0, NumProcess) you are in.
int vtkCommunicator::Send | ( | vtkDataObject * | data, |
int | remoteHandle, | ||
int | tag | ||
) |
This method sends a data object to a destination.
Tag eliminates ambiguity and is used to match sends to receives.
int vtkCommunicator::Send | ( | vtkDataArray * | data, |
int | remoteHandle, | ||
int | tag | ||
) |
This method sends a data array to a destination.
Tag eliminates ambiguity and is used to match sends to receives.
|
pure virtual |
Subclasses have to supply this method to send various arrays of data.
The type
arg is one of the VTK type constants recognized by the vtkTemplateMacro (VTK_FLOAT, VTK_INT, etc.). length
is measured in number of values (as opposed to number of bytes).
Implemented in vtkMPICommunicator, vtkSubCommunicator, vtkSocketCommunicator, and vtkDummyCommunicator.
|
inline |
Convenience methods for sending data arrays.
Definition at line 154 of file vtkCommunicator.h.
|
inline |
Definition at line 158 of file vtkCommunicator.h.
|
inline |
Definition at line 162 of file vtkCommunicator.h.
|
inline |
Definition at line 166 of file vtkCommunicator.h.
|
inline |
Definition at line 170 of file vtkCommunicator.h.
|
inline |
Definition at line 174 of file vtkCommunicator.h.
|
inline |
Definition at line 178 of file vtkCommunicator.h.
|
inline |
Definition at line 182 of file vtkCommunicator.h.
|
inline |
Definition at line 186 of file vtkCommunicator.h.
|
inline |
Definition at line 190 of file vtkCommunicator.h.
|
inline |
Definition at line 194 of file vtkCommunicator.h.
|
inline |
Definition at line 198 of file vtkCommunicator.h.
|
inline |
Definition at line 202 of file vtkCommunicator.h.
int vtkCommunicator::Send | ( | const vtkMultiProcessStream & | stream, |
int | remoteId, | ||
int | tag | ||
) |
int vtkCommunicator::Receive | ( | vtkDataObject * | data, |
int | remoteHandle, | ||
int | tag | ||
) |
This method receives a data object from a corresponding send.
It blocks until the receive is finished.
vtkDataObject* vtkCommunicator::ReceiveDataObject | ( | int | remoteHandle, |
int | tag | ||
) |
The caller does not have to know the data type before this call is made.
It returns the newly created object.
int vtkCommunicator::Receive | ( | vtkDataArray * | data, |
int | remoteHandle, | ||
int | tag | ||
) |
This method receives a data array from a corresponding send.
It blocks until the receive is finished.
|
pure virtual |
Subclasses have to supply this method to receive various arrays of data.
The type
arg is one of the VTK type constants recognized by the vtkTemplateMacro (VTK_FLOAT, VTK_INT, etc.). maxlength
is measured in number of values (as opposed to number of bytes) and is the maxmum length of the data to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Implemented in vtkMPICommunicator, vtkSubCommunicator, vtkSocketCommunicator, and vtkDummyCommunicator.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 245 of file vtkCommunicator.h.
|
inline |
Definition at line 249 of file vtkCommunicator.h.
|
inline |
Definition at line 253 of file vtkCommunicator.h.
|
inline |
Definition at line 257 of file vtkCommunicator.h.
|
inline |
Definition at line 261 of file vtkCommunicator.h.
|
inline |
Definition at line 265 of file vtkCommunicator.h.
|
inline |
Definition at line 269 of file vtkCommunicator.h.
|
inline |
Definition at line 273 of file vtkCommunicator.h.
|
inline |
Definition at line 277 of file vtkCommunicator.h.
|
inline |
Definition at line 281 of file vtkCommunicator.h.
|
inline |
Definition at line 285 of file vtkCommunicator.h.
|
inline |
Definition at line 289 of file vtkCommunicator.h.
|
inline |
Definition at line 293 of file vtkCommunicator.h.
int vtkCommunicator::Receive | ( | vtkMultiProcessStream & | stream, |
int | remoteId, | ||
int | tag | ||
) |
|
virtual |
Returns the number of words received by the most recent Receive().
Note that this is not the number of bytes received, but the number of items of the data-type received by the most recent Receive() eg. if Receive(int*,..) was used, then this returns the number of ints received; if Receive(double*,..) was used, then this returns the number of doubles received etc. The return value is valid only after a successful Receive().
|
virtual |
Will block the processes until all other processes reach the Barrier function.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 327 of file vtkCommunicator.h.
|
inline |
Definition at line 331 of file vtkCommunicator.h.
|
inline |
Definition at line 335 of file vtkCommunicator.h.
|
inline |
Definition at line 339 of file vtkCommunicator.h.
|
inline |
Definition at line 343 of file vtkCommunicator.h.
|
inline |
Definition at line 347 of file vtkCommunicator.h.
|
inline |
Definition at line 351 of file vtkCommunicator.h.
|
inline |
Definition at line 355 of file vtkCommunicator.h.
|
inline |
Definition at line 359 of file vtkCommunicator.h.
|
inline |
Definition at line 363 of file vtkCommunicator.h.
|
inline |
Definition at line 367 of file vtkCommunicator.h.
|
inline |
Definition at line 371 of file vtkCommunicator.h.
|
inline |
Definition at line 375 of file vtkCommunicator.h.
int vtkCommunicator::Broadcast | ( | vtkDataObject * | data, |
int | srcProcessId | ||
) |
int vtkCommunicator::Broadcast | ( | vtkDataArray * | data, |
int | srcProcessId | ||
) |
int vtkCommunicator::Broadcast | ( | vtkMultiProcessStream & | stream, |
int | srcProcessId | ||
) |
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 395 of file vtkCommunicator.h.
|
inline |
Definition at line 399 of file vtkCommunicator.h.
|
inline |
Definition at line 404 of file vtkCommunicator.h.
|
inline |
Definition at line 408 of file vtkCommunicator.h.
|
inline |
Definition at line 413 of file vtkCommunicator.h.
|
inline |
Definition at line 417 of file vtkCommunicator.h.
|
inline |
Definition at line 422 of file vtkCommunicator.h.
|
inline |
Definition at line 427 of file vtkCommunicator.h.
|
inline |
Definition at line 431 of file vtkCommunicator.h.
|
inline |
Definition at line 436 of file vtkCommunicator.h.
|
inline |
Definition at line 440 of file vtkCommunicator.h.
|
inline |
Definition at line 444 of file vtkCommunicator.h.
|
inline |
Definition at line 449 of file vtkCommunicator.h.
int vtkCommunicator::Gather | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | destProcessId | ||
) |
int vtkCommunicator::Gather | ( | vtkDataObject * | sendBuffer, |
std::vector< vtkSmartPointer< vtkDataObject > > & | recvBuffer, | ||
int | destProcessId | ||
) |
Gathers vtkDataObject (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - data object to send from local process. Can be null if not sending any data from the current process. |
[out] | recvBuffer | - vector of data objects to receive data on the receiving rank (identified by destProcessId ). This may be empty or filled with data object instances. If empty, data objects will be created as needed. If not empty, existing data object will be used. |
[in] | destProcessId | - process id to gather on. |
int vtkCommunicator::Gather | ( | const vtkMultiProcessStream & | sendBuffer, |
std::vector< vtkMultiProcessStream > & | recvBuffer, | ||
int | destProcessId | ||
) |
Gathers vtkMultiProcessStream (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - vtkMultiProcessStream to send from local process. |
[out] | recvBuffer | - vector of vtkMultiProcessStream instances recevied on the receiving rank (identified by destProcessId ). |
[in] | destProcessId | - process id to gather on. |
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 497 of file vtkCommunicator.h.
|
inline |
Definition at line 503 of file vtkCommunicator.h.
|
inline |
Definition at line 509 of file vtkCommunicator.h.
|
inline |
Definition at line 515 of file vtkCommunicator.h.
|
inline |
Definition at line 521 of file vtkCommunicator.h.
|
inline |
Definition at line 527 of file vtkCommunicator.h.
|
inline |
Definition at line 533 of file vtkCommunicator.h.
|
inline |
Definition at line 539 of file vtkCommunicator.h.
|
inline |
Definition at line 545 of file vtkCommunicator.h.
|
inline |
Definition at line 551 of file vtkCommunicator.h.
|
inline |
Definition at line 557 of file vtkCommunicator.h.
|
inline |
Definition at line 563 of file vtkCommunicator.h.
|
inline |
Definition at line 569 of file vtkCommunicator.h.
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdType * | recvLengths, | ||
vtkIdType * | offsets, | ||
int | destProcessId | ||
) |
For the first GatherV variant, recvLengths
and offsets
known on destProcessId
and are passed in as parameters For the second GatherV variant, recvLengths
and offsets
are not known on destProcessId
.
The recvLengths
is set using a gather operation and offsets
is computed from recvLengths
. recvLengths has NumberOfProcesses
elements and \offsets has NumberOfProcesses + 1 elements. The third variant is the same as the second variant but it does not expose recvLength
and offsets
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdTypeArray * | recvLengths, | ||
vtkIdTypeArray * | offsets, | ||
int | destProcessId | ||
) |
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | destProcessId | ||
) |
int vtkCommunicator::GatherV | ( | vtkDataObject * | sendData, |
vtkSmartPointer< vtkDataObject > * | recvData, | ||
int | destProcessId | ||
) |
Collects data objects in the process with id destProcessId
.
Each process (including the destination) marshals and then sends the data object to the destination process. The destination process unmarshals and then stores the data objects in rank order. The recvData
(on the destination process) must be of length numProcesses.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 611 of file vtkCommunicator.h.
|
inline |
Definition at line 615 of file vtkCommunicator.h.
|
inline |
Definition at line 620 of file vtkCommunicator.h.
|
inline |
Definition at line 624 of file vtkCommunicator.h.
|
inline |
Definition at line 629 of file vtkCommunicator.h.
|
inline |
Definition at line 633 of file vtkCommunicator.h.
|
inline |
Definition at line 638 of file vtkCommunicator.h.
|
inline |
Definition at line 643 of file vtkCommunicator.h.
|
inline |
Definition at line 647 of file vtkCommunicator.h.
|
inline |
Definition at line 652 of file vtkCommunicator.h.
|
inline |
Definition at line 656 of file vtkCommunicator.h.
|
inline |
Definition at line 660 of file vtkCommunicator.h.
|
inline |
Definition at line 665 of file vtkCommunicator.h.
int vtkCommunicator::Scatter | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | srcProcessId | ||
) |
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 682 of file vtkCommunicator.h.
|
inline |
Definition at line 688 of file vtkCommunicator.h.
|
inline |
Definition at line 694 of file vtkCommunicator.h.
|
inline |
Definition at line 700 of file vtkCommunicator.h.
|
inline |
Definition at line 706 of file vtkCommunicator.h.
|
inline |
Definition at line 712 of file vtkCommunicator.h.
|
inline |
Definition at line 718 of file vtkCommunicator.h.
|
inline |
Definition at line 724 of file vtkCommunicator.h.
|
inline |
Definition at line 730 of file vtkCommunicator.h.
|
inline |
Definition at line 736 of file vtkCommunicator.h.
|
inline |
Definition at line 742 of file vtkCommunicator.h.
|
inline |
Definition at line 748 of file vtkCommunicator.h.
|
inline |
Definition at line 754 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 766 of file vtkCommunicator.h.
|
inline |
Definition at line 770 of file vtkCommunicator.h.
|
inline |
Definition at line 774 of file vtkCommunicator.h.
|
inline |
Definition at line 778 of file vtkCommunicator.h.
|
inline |
Definition at line 782 of file vtkCommunicator.h.
|
inline |
Definition at line 786 of file vtkCommunicator.h.
|
inline |
Definition at line 790 of file vtkCommunicator.h.
|
inline |
Definition at line 794 of file vtkCommunicator.h.
|
inline |
Definition at line 798 of file vtkCommunicator.h.
|
inline |
Definition at line 802 of file vtkCommunicator.h.
|
inline |
Definition at line 806 of file vtkCommunicator.h.
|
inline |
Definition at line 810 of file vtkCommunicator.h.
|
inline |
Definition at line 814 of file vtkCommunicator.h.
int vtkCommunicator::AllGather | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer | ||
) |
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 826 of file vtkCommunicator.h.
|
inline |
Definition at line 832 of file vtkCommunicator.h.
|
inline |
Definition at line 838 of file vtkCommunicator.h.
|
inline |
Definition at line 844 of file vtkCommunicator.h.
|
inline |
Definition at line 850 of file vtkCommunicator.h.
|
inline |
Definition at line 856 of file vtkCommunicator.h.
|
inline |
Definition at line 862 of file vtkCommunicator.h.
|
inline |
Definition at line 868 of file vtkCommunicator.h.
|
inline |
Definition at line 874 of file vtkCommunicator.h.
|
inline |
Definition at line 880 of file vtkCommunicator.h.
|
inline |
Definition at line 886 of file vtkCommunicator.h.
|
inline |
Definition at line 892 of file vtkCommunicator.h.
|
inline |
Definition at line 898 of file vtkCommunicator.h.
int vtkCommunicator::AllGatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdType * | recvLengths, | ||
vtkIdType * | offsets | ||
) |
int vtkCommunicator::AllGatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer | ||
) |
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 915 of file vtkCommunicator.h.
|
inline |
Definition at line 920 of file vtkCommunicator.h.
|
inline |
Definition at line 926 of file vtkCommunicator.h.
|
inline |
Definition at line 932 of file vtkCommunicator.h.
|
inline |
Definition at line 938 of file vtkCommunicator.h.
|
inline |
Definition at line 944 of file vtkCommunicator.h.
|
inline |
Definition at line 950 of file vtkCommunicator.h.
|
inline |
Definition at line 956 of file vtkCommunicator.h.
|
inline |
Definition at line 962 of file vtkCommunicator.h.
|
inline |
Definition at line 968 of file vtkCommunicator.h.
|
inline |
Definition at line 974 of file vtkCommunicator.h.
|
inline |
Definition at line 980 of file vtkCommunicator.h.
|
inline |
Definition at line 986 of file vtkCommunicator.h.
int vtkCommunicator::Reduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | operation, | ||
int | destProcessId | ||
) |
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1000 of file vtkCommunicator.h.
|
inline |
Definition at line 1005 of file vtkCommunicator.h.
|
inline |
Definition at line 1011 of file vtkCommunicator.h.
|
inline |
Definition at line 1017 of file vtkCommunicator.h.
|
inline |
Definition at line 1023 of file vtkCommunicator.h.
|
inline |
Definition at line 1029 of file vtkCommunicator.h.
|
inline |
Definition at line 1035 of file vtkCommunicator.h.
|
inline |
Definition at line 1041 of file vtkCommunicator.h.
|
inline |
Definition at line 1047 of file vtkCommunicator.h.
|
inline |
Definition at line 1053 of file vtkCommunicator.h.
|
inline |
Definition at line 1059 of file vtkCommunicator.h.
|
inline |
Definition at line 1065 of file vtkCommunicator.h.
|
inline |
Definition at line 1071 of file vtkCommunicator.h.
int vtkCommunicator::Reduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
Operation * | operation, | ||
int | destProcessId | ||
) |
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1085 of file vtkCommunicator.h.
|
inline |
Definition at line 1089 of file vtkCommunicator.h.
|
inline |
Definition at line 1094 of file vtkCommunicator.h.
|
inline |
Definition at line 1098 of file vtkCommunicator.h.
|
inline |
Definition at line 1103 of file vtkCommunicator.h.
|
inline |
Definition at line 1107 of file vtkCommunicator.h.
|
inline |
Definition at line 1112 of file vtkCommunicator.h.
|
inline |
Definition at line 1117 of file vtkCommunicator.h.
|
inline |
Definition at line 1121 of file vtkCommunicator.h.
|
inline |
Definition at line 1126 of file vtkCommunicator.h.
|
inline |
Definition at line 1130 of file vtkCommunicator.h.
|
inline |
Definition at line 1134 of file vtkCommunicator.h.
|
inline |
Definition at line 1138 of file vtkCommunicator.h.
int vtkCommunicator::AllReduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | operation | ||
) |
|
inline |
Definition at line 1145 of file vtkCommunicator.h.
|
inline |
Definition at line 1149 of file vtkCommunicator.h.
|
inline |
Definition at line 1154 of file vtkCommunicator.h.
|
inline |
Definition at line 1158 of file vtkCommunicator.h.
|
inline |
Definition at line 1163 of file vtkCommunicator.h.
|
inline |
Definition at line 1167 of file vtkCommunicator.h.
|
inline |
Definition at line 1172 of file vtkCommunicator.h.
|
inline |
Definition at line 1177 of file vtkCommunicator.h.
|
inline |
Definition at line 1181 of file vtkCommunicator.h.
|
inline |
Definition at line 1186 of file vtkCommunicator.h.
|
inline |
Definition at line 1190 of file vtkCommunicator.h.
|
inline |
Definition at line 1195 of file vtkCommunicator.h.
|
inline |
Definition at line 1200 of file vtkCommunicator.h.
int vtkCommunicator::AllReduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
Operation * | operation | ||
) |
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
static |
|
virtual |
Determine the global bounds for a set of processes.
BBox is initially set (outside of the call to the local bounds of the process and will be modified to be the global bounds - this default implementation views the processors as a heap tree with the root being processId = 0 If either rightHasBounds or leftHasBounds is not 0 then the corresponding int will be set to 1 if the right/left processor has bounds else it will be set to 0 The last three arguments are the tags to be used when performing the operation
|
static |
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for getting the right processor since it is 1 + theLeftProcessor.
|
static |
|
static |
Convert a data object into a string that can be transmitted and vice versa.
Returns 1 for success and 0 for failure. WARNING: This will only work for types that have a vtkDataWriter class.
|
static |
|
static |
Same as UnMarshalDataObject(vtkCharArray*, vtkDataObject*) except that this method doesn't need to know the type of the data object a priori.
It can deduce that from the contents of the buffer
. May return nullptr data object if buffer
is nullptr or empty.
|
protected |
|
protected |
|
protected |
|
protected |
GatherV collects arrays in the process with id destProcessId
.
Each process (including the destination) sends its sendArray to the destination process. The destination process receives the arrays and stores them in rank order in recvArrays. The recvArrays
is an array containing NumberOfProcesses
elements. The recvArray
allocates and manages memory for recvArrays
.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 1310 of file vtkCommunicator.h.
|
protected |
Definition at line 1311 of file vtkCommunicator.h.
|
protected |
Definition at line 1313 of file vtkCommunicator.h.
|
staticprotected |
Definition at line 1315 of file vtkCommunicator.h.
|
protected |
Definition at line 1317 of file vtkCommunicator.h.