VTK
|
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... | |
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 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 (vtkMultiProcessStream &stream, int remoteId, int tag) |
virtual void | Barrier () |
Will block the processes until all other processes reach the Barrier function. More... | |
int | Broadcast (vtkMultiProcessStream &stream, int srcProcessId) |
int | Gather (vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId) |
Gathers vtkDataObject (sendBuffer ) from all ranks to the destProcessId . More... | |
int | GatherV (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId) |
Collects data objects in the process with id destProcessId . More... | |
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... | |
virtual void | SetNumberOfProcesses (int num) |
Set the number of processes you will be using. More... | |
virtual int | GetNumberOfProcesses () |
Set the number of processes you will be using. More... | |
virtual int | GetLocalProcessId () |
Tells you which process [0, NumProcess) you are in. 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) |
Convenience methods for sending data arrays. More... | |
int | Send (const short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const signed char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const float *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const double *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. 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) |
Convenience methods for receiving data arrays. More... | |
int | Receive (short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (signed char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (float *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (double *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
virtual vtkIdType | GetCount () |
Returns the number of words received by the most recent Receive(). 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) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (short *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 short *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (long *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 long *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 char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (signed char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (float *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (double *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (long long *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 long long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (vtkDataObject *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (vtkDataArray *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
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) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
Gather collects arrays in the process with id 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) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
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) |
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, 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 | 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) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const long *sendBuffer, long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
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) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
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) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const short *sendBuffer, short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const long *sendBuffer, long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const char *sendBuffer, char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const float *sendBuffer, float *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const double *sendBuffer, double *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as gather except that the result ends up on all processes. More... | |
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) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as GatherV except that the result is placed in all processes. More... | |
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) |
Reduce an array to the given destination process. More... | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
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) |
Reduce an array to the given destination process. More... | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
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) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *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, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
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) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | GatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type, int destProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | ScatterVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int srcProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | ScatterVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int type, int srcProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | AllGatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | AllGatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation, int destProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation, int destProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation) |
Subclasses should reimplement these if they have a more efficient implementation. More... | |
Public Member Functions inherited from vtkObject | |
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... | |
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) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
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) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
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) |
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, 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) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. 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 | 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... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkCommunicator * | SafeDownCast (vtkObjectBase *o) |
static void | SetUseCopy (int useCopy) |
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 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) |
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 | 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) |
Convert a data object into a string that can be transmitted and vice versa. More... | |
Static Public Member Functions inherited from vtkObject | |
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 () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
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 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 | 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) |
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) |
GatherV collects arrays in the process with id destProcessId . More... | |
Protected Member Functions inherited from vtkObject | |
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 () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
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 |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | 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 53 of file vtkCommunicator.h.
typedef vtkObject vtkCommunicator::Superclass |
Definition at line 58 of file vtkCommunicator.h.
Enumerator | |
---|---|
BROADCAST_TAG | |
GATHER_TAG | |
GATHERV_TAG | |
SCATTER_TAG | |
SCATTERV_TAG | |
REDUCE_TAG | |
BARRIER_TAG |
Definition at line 78 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 89 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, vtkSocketCommunicator, vtkSubCommunicator, and vtkDummyCommunicator.
|
static |
|
protectedvirtual |
Reimplemented in vtkMPICommunicator, vtkSocketCommunicator, vtkSubCommunicator, 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, vtkSocketCommunicator, vtkSubCommunicator, 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 |
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.
|
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 vtkSocketCommunicator, vtkMPICommunicator, vtkSubCommunicator, and vtkDummyCommunicator.
Convenience methods for sending data arrays.
Definition at line 159 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 162 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 165 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 168 of file vtkCommunicator.h.
Convenience methods for sending data arrays.
Definition at line 171 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 175 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 179 of file vtkCommunicator.h.
Convenience methods for sending data arrays.
Definition at line 183 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 186 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 189 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 192 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 195 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 198 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 vtkSocketCommunicator, vtkMPICommunicator, vtkSubCommunicator, and vtkDummyCommunicator.
Convenience methods for receiving data arrays.
Definition at line 240 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 243 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 246 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 249 of file vtkCommunicator.h.
Convenience methods for receiving data arrays.
Definition at line 252 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 255 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 259 of file vtkCommunicator.h.
Convenience methods for receiving data arrays.
Definition at line 263 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 266 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 269 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 272 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 275 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 278 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.
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 311 of file vtkCommunicator.h.
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 314 of file vtkCommunicator.h.
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 317 of file vtkCommunicator.h.
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 320 of file vtkCommunicator.h.
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 323 of file vtkCommunicator.h.
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 326 of file vtkCommunicator.h.
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 329 of file vtkCommunicator.h.
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 332 of file vtkCommunicator.h.
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 335 of file vtkCommunicator.h.
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 338 of file vtkCommunicator.h.
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 341 of file vtkCommunicator.h.
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 344 of file vtkCommunicator.h.
|
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 347 of file vtkCommunicator.h.
int vtkCommunicator::Broadcast | ( | vtkDataObject * | data, |
int | srcProcessId | ||
) |
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.
int vtkCommunicator::Broadcast | ( | vtkDataArray * | data, |
int | srcProcessId | ||
) |
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.
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 366 of file vtkCommunicator.h.
|
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 371 of file vtkCommunicator.h.
|
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 376 of file vtkCommunicator.h.
|
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 381 of file vtkCommunicator.h.
|
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 386 of file vtkCommunicator.h.
|
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 391 of file vtkCommunicator.h.
|
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 396 of file vtkCommunicator.h.
|
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 401 of file vtkCommunicator.h.
|
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 406 of file vtkCommunicator.h.
|
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 411 of file vtkCommunicator.h.
|
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 416 of file vtkCommunicator.h.
|
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 421 of file vtkCommunicator.h.
|
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 426 of file vtkCommunicator.h.
int vtkCommunicator::Gather | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | destProcessId | ||
) |
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.
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. |
|
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 463 of file vtkCommunicator.h.
|
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 470 of file vtkCommunicator.h.
|
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 477 of file vtkCommunicator.h.
|
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 484 of file vtkCommunicator.h.
|
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 491 of file vtkCommunicator.h.
|
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 498 of file vtkCommunicator.h.
|
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 505 of file vtkCommunicator.h.
|
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 512 of file vtkCommunicator.h.
|
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 519 of file vtkCommunicator.h.
|
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 526 of file vtkCommunicator.h.
|
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 533 of file vtkCommunicator.h.
|
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 540 of file vtkCommunicator.h.
|
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 547 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 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 | ||
) |
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 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, | ||
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 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 | ( | 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 595 of file vtkCommunicator.h.
|
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 600 of file vtkCommunicator.h.
|
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 605 of file vtkCommunicator.h.
|
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 610 of file vtkCommunicator.h.
|
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 615 of file vtkCommunicator.h.
|
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 620 of file vtkCommunicator.h.
|
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 625 of file vtkCommunicator.h.
|
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 630 of file vtkCommunicator.h.
|
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 635 of file vtkCommunicator.h.
|
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 640 of file vtkCommunicator.h.
|
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 645 of file vtkCommunicator.h.
|
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 650 of file vtkCommunicator.h.
|
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 655 of file vtkCommunicator.h.
int vtkCommunicator::Scatter | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | srcProcessId | ||
) |
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.
|
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 672 of file vtkCommunicator.h.
|
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 679 of file vtkCommunicator.h.
|
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 686 of file vtkCommunicator.h.
|
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 693 of file vtkCommunicator.h.
|
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 700 of file vtkCommunicator.h.
|
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 707 of file vtkCommunicator.h.
|
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 714 of file vtkCommunicator.h.
|
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 721 of file vtkCommunicator.h.
|
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 728 of file vtkCommunicator.h.
|
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 735 of file vtkCommunicator.h.
|
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 742 of file vtkCommunicator.h.
|
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 749 of file vtkCommunicator.h.
|
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 756 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 769 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 772 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 777 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 780 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 785 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 788 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 793 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 798 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 801 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 806 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 809 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 813 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 818 of file vtkCommunicator.h.
int vtkCommunicator::AllGather | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer | ||
) |
Same as gather except that the result ends up on all processes.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 830 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 837 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 844 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 851 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 858 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 865 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 872 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 879 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 886 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 893 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 900 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 907 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 914 of file vtkCommunicator.h.
int vtkCommunicator::AllGatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdType * | recvLengths, | ||
vtkIdType * | offsets | ||
) |
Same as GatherV except that the result is placed in all processes.
int vtkCommunicator::AllGatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer | ||
) |
Same as GatherV except that the result is placed in all processes.
|
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 932 of file vtkCommunicator.h.
|
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 937 of file vtkCommunicator.h.
|
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 942 of file vtkCommunicator.h.
|
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 947 of file vtkCommunicator.h.
|
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 952 of file vtkCommunicator.h.
|
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 957 of file vtkCommunicator.h.
|
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 962 of file vtkCommunicator.h.
|
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 967 of file vtkCommunicator.h.
|
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 972 of file vtkCommunicator.h.
|
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 977 of file vtkCommunicator.h.
|
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 982 of file vtkCommunicator.h.
|
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 987 of file vtkCommunicator.h.
|
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 992 of file vtkCommunicator.h.
int vtkCommunicator::Reduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | operation, | ||
int | destProcessId | ||
) |
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.
|
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 1006 of file vtkCommunicator.h.
|
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 1011 of file vtkCommunicator.h.
|
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 1016 of file vtkCommunicator.h.
|
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 1021 of file vtkCommunicator.h.
|
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 1026 of file vtkCommunicator.h.
|
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 1031 of file vtkCommunicator.h.
|
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 1036 of file vtkCommunicator.h.
|
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 1041 of file vtkCommunicator.h.
|
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 1046 of file vtkCommunicator.h.
|
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 1051 of file vtkCommunicator.h.
|
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 1056 of file vtkCommunicator.h.
|
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 1061 of file vtkCommunicator.h.
|
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 1066 of file vtkCommunicator.h.
int vtkCommunicator::Reduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
Operation * | operation, | ||
int | destProcessId | ||
) |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1079 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1084 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1089 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1094 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1099 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1104 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1109 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1114 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1119 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1124 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1129 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1134 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1139 of file vtkCommunicator.h.
int vtkCommunicator::AllReduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | operation | ||
) |
Same as Reduce except that the result is placed in all of the processes.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1146 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1151 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1156 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1161 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1166 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1171 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1176 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1181 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1186 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1191 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1196 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1201 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1206 of file vtkCommunicator.h.
int vtkCommunicator::AllReduce | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
Operation * | operation | ||
) |
Same as Reduce except that the result is placed in all of the processes.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkMPICommunicator, and vtkSocketCommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
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
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.
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 |
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 |
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 |
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 |
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 |
Definition at line 1334 of file vtkCommunicator.h.
|
protected |
Definition at line 1335 of file vtkCommunicator.h.
|
protected |
Definition at line 1337 of file vtkCommunicator.h.
|
staticprotected |
Definition at line 1339 of file vtkCommunicator.h.
|
protected |
Definition at line 1341 of file vtkCommunicator.h.