VTK
9.4.20241014
|
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. | |
vtkCommunicator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
int | Send (vtkDataObject *data, int remoteHandle, int tag) |
This method sends a data object to a destination. | |
int | Send (vtkDataArray *data, int remoteHandle, int tag) |
This method sends a data array to a destination. | |
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. | |
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. | |
vtkDataObject * | ReceiveDataObject (int remoteHandle, int tag) |
The caller does not have to know the data type before this call is made. | |
int | Receive (vtkDataArray *data, int remoteHandle, int tag) |
This method receives a data array from a corresponding send. | |
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. | |
int | Receive (vtkMultiProcessStream &stream, int remoteId, int tag) |
virtual void | Barrier () |
Will block the processes until all other processes reach the Barrier function. | |
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 . | |
int | Gather (const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer, int destProcessId) |
Gathers vtkMultiProcessStream (sendBuffer ) from all ranks to the destProcessId . | |
int | GatherV (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId) |
Collects data objects in the process with id destProcessId . | |
int | AllGather (vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer) |
Gathers vtkDataObject (sendBuffer ) from all ranks to all raks. | |
virtual bool | CanProbe () |
Check if this communicator implements a probe operation. | |
virtual int | Probe (int vtkNotUsed(source), int vtkNotUsed(tag), int *vtkNotUsed(actualSource)) |
Blocking test for checking for a message tagged with tag from source process (if source == ANY_SOURCE check for any message). | |
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. | |
virtual void | SetNumberOfProcesses (int num) |
Set the number of processes you will be using. | |
virtual int | GetNumberOfProcesses () |
Set the number of processes you will be using. | |
virtual int | GetLocalProcessId () |
Tells you which process [0, NumProcess) you are in. | |
int | Send (const int *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const unsigned int *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const unsigned short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const unsigned long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const unsigned char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const signed char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const float *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const double *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Send (const unsigned long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. | |
int | Receive (int *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (unsigned int *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (unsigned short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (unsigned long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (unsigned char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (signed char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (float *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (double *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
int | Receive (unsigned long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. | |
virtual vtkIdType | GetCount () |
Returns the number of words received by the most recent Receive(). | |
int | Broadcast (int *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
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. | |
int | Broadcast (short *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
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. | |
int | Broadcast (long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
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. | |
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. | |
int | Broadcast (char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
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. | |
int | Broadcast (float *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
int | Broadcast (double *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
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. | |
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. | |
int | Broadcast (vtkDataObject *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
int | Broadcast (vtkDataArray *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. | |
int | Gather (const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | Gather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
Gather collects arrays in the process with id destProcessId . | |
int | GatherV (const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
int | GatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. | |
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. | |
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 . | |
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 . | |
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 . | |
int | Scatter (const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
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. | |
int | Scatter (const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
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. | |
int | Scatter (const long *sendBuffer, long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
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. | |
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. | |
int | Scatter (const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
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. | |
int | Scatter (const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
int | Scatter (const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
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. | |
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. | |
int | Scatter (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. | |
int | ScatterV (const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
int | ScatterV (const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. | |
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. | |
int | AllGather (const int *sendBuffer, int *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const short *sendBuffer, short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const long *sendBuffer, long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const char *sendBuffer, char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const float *sendBuffer, float *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const double *sendBuffer, double *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. | |
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. | |
int | AllGather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as gather except that the result ends up on all processes. | |
int | AllGather (const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer) |
Same as gather except that the result ends up on all processes. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as GatherV except that the result is placed in all processes. | |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
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. | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
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. | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation) |
Same as Reduce except that the result is placed in all of the processes. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. | |
virtual int | BroadcastVoidArray (void *data, vtkIdType length, int type, int srcProcessId) |
Subclasses should reimplement these if they have a more efficient implementation. | |
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. | |
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. | |
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. | |
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. | |
virtual int | AllGatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type) |
Subclasses should reimplement these if they have a more efficient implementation. | |
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. | |
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. | |
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. | |
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. | |
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. | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. | |
virtual void | DebugOff () |
Turn debugging output off. | |
bool | GetDebug () |
Get the value of the debug flag. | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. | |
virtual void | Modified () |
Update the modification time for this object. | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
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) |
vtkTypeBool | InvokeEvent (unsigned long event) |
vtkTypeBool | InvokeEvent (const char *event) |
std::string | GetObjectDescription () const override |
The object description printed in messages and PrintSelf output. | |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. | |
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. | |
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. | |
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. | |
vtkTypeBool | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
vtkTypeBool | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
virtual void | SetObjectName (const std::string &objectName) |
Set/get the name of this object for reporting purposes. | |
virtual std::string | GetObjectName () const |
Set/get the name of this object for reporting purposes. | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. | |
virtual std::string | GetObjectDescription () const |
The object description printed in messages and PrintSelf output. | |
virtual vtkTypeBool | IsA (const char *name) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name) |
Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
virtual void | Delete () |
Delete a VTK object. | |
virtual void | FastDelete () |
Delete a reference to this object. | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. | |
void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). | |
int | GetReferenceCount () |
Return the current reference count of this object. | |
void | SetReferenceCount (int) |
Sets the reference count. | |
bool | GetIsInMemkind () const |
A local state flag that remembers whether this object lives in the normal or extended memory space. | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. | |
virtual bool | UsesGarbageCollector () const |
Indicate whether the class uses vtkGarbageCollector or not. | |
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. | |
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. | |
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. | |
static int | MarshalDataObject (vtkDataObject *object, vtkCharArray *buffer) |
Convert a data object into a string that can be transmitted and vice versa. | |
static int | UnMarshalDataObject (vtkCharArray *buffer, vtkDataObject *object) |
Convert a data object into a string that can be transmitted and vice versa. | |
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. | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. | |
static void | SetGlobalWarningDisplay (vtkTypeBool val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
static vtkTypeBool | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. | |
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. | |
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name) |
Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. | |
static void | SetMemkindDirectory (const char *directoryname) |
The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. | |
static bool | GetUsingMemkind () |
A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. | |
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 . | |
int | GatherVElementalDataObject (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *receiveData, int destProcessId) |
GatherV collects arrays in the process with id destProcessId . | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengthsArray, vtkIdTypeArray *offsetsArray) |
int | AllGatherV (vtkDataArray *sendArray, vtkDataArray *recvArray, vtkSmartPointer< vtkDataArray > *recvArrays) |
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. | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) |
virtual void | ReportReferences (vtkGarbageCollector *) |
virtual void | ObjectFinalize () |
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 |
std::string | ObjectName |
Protected Attributes inherited from vtkObjectBase | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Static Protected Attributes | |
static int | UseCopy |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
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 42 of file vtkCommunicator.h.
typedef vtkObject vtkCommunicator::Superclass |
Definition at line 46 of file vtkCommunicator.h.
Enumerator | |
---|---|
BROADCAST_TAG | |
GATHER_TAG | |
GATHERV_TAG | |
SCATTER_TAG | |
SCATTERV_TAG | |
REDUCE_TAG | |
BARRIER_TAG |
Definition at line 66 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 77 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 vtkDummyCommunicator, vtkSocketCommunicator, vtkSubCommunicator, and vtkMPICommunicator.
|
static |
|
protectedvirtual |
Reimplemented in vtkDummyCommunicator, vtkSocketCommunicator, vtkSubCommunicator, and vtkMPICommunicator.
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 vtkObjectBase.
Reimplemented in vtkDummyCommunicator, vtkSocketCommunicator, vtkSubCommunicator, and vtkMPICommunicator.
|
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 vtkDummyCommunicator, vtkSocketCommunicator, vtkSubCommunicator, and vtkMPICommunicator.
|
inline |
Convenience methods for sending data arrays.
Definition at line 146 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 150 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 154 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 158 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 166 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 170 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 174 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 178 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 182 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 190 of file vtkCommunicator.h.
|
inline |
Convenience methods for sending data arrays.
Definition at line 194 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 vtkDummyCommunicator, vtkSocketCommunicator, vtkSubCommunicator, and vtkMPICommunicator.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 237 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 241 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 245 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 249 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 253 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 257 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 261 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 265 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 273 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 277 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 281 of file vtkCommunicator.h.
|
inline |
Convenience methods for receiving data arrays.
Definition at line 285 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 vtkSocketCommunicator, and vtkMPICommunicator.
|
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 319 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 323 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 327 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 331 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 335 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 339 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 343 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.
|
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 351 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 355 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 359 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 363 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 367 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 387 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 400 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 405 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 409 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 414 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 419 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 423 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 428 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 432 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 436 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 441 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. |
int vtkCommunicator::Gather | ( | const vtkMultiProcessStream & | sendBuffer, |
std::vector< vtkMultiProcessStream > & | recvBuffer, | ||
int | destProcessId | ||
) |
Gathers vtkMultiProcessStream (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - vtkMultiProcessStream to send from local process. |
[out] | recvBuffer | - vector of vtkMultiProcessStream instances received on the receiving rank (identified by destProcessId ). |
[in] | destProcessId | - process id to gather on. |
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 489 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 495 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 501 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 507 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 513 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 525 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 531 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 537 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 543 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 549 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 555 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 561 of file vtkCommunicator.h.
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdType * | recvLengths, | ||
vtkIdType * | offsets, | ||
int | destProcessId | ||
) |
For the first GatherV variant, recvLengths
and offsets
known on destProcessId
and are passed in as parameters For the second GatherV variant, recvLengths
and offsets
are not known on destProcessId
.
The recvLengths
is set using a gather operation and offsets
is computed from recvLengths
. recvLengths has NumberOfProcesses
elements and offsets
has NumberOfProcesses + 1 elements. The third variant is the same as the second variant but it does not expose recvLength
and offsets
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
vtkIdTypeArray * | recvLengths, | ||
vtkIdTypeArray * | offsets, | ||
int | destProcessId | ||
) |
For the first GatherV variant, recvLengths
and offsets
known on destProcessId
and are passed in as parameters For the second GatherV variant, recvLengths
and offsets
are not known on destProcessId
.
The recvLengths
is set using a gather operation and offsets
is computed from recvLengths
. recvLengths has NumberOfProcesses
elements and offsets
has NumberOfProcesses + 1 elements. The third variant is the same as the second variant but it does not expose recvLength
and offsets
int vtkCommunicator::GatherV | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer, | ||
int | destProcessId | ||
) |
For the first GatherV variant, recvLengths
and offsets
known on destProcessId
and are passed in as parameters For the second GatherV variant, recvLengths
and offsets
are not known on destProcessId
.
The recvLengths
is set using a gather operation and offsets
is computed from recvLengths
. recvLengths has NumberOfProcesses
elements and offsets
has NumberOfProcesses + 1 elements. The third variant is the same as the second variant but it does not expose recvLength
and offsets
int vtkCommunicator::GatherV | ( | 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 603 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 607 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 612 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 616 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 621 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 639 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 644 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 648 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 652 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 657 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 674 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 680 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 692 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 698 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 704 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 710 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 716 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 722 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 734 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 740 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 746 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 758 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 762 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 766 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 770 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 774 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 778 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 782 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 786 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 790 of file vtkCommunicator.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 794 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 802 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.
int vtkCommunicator::AllGather | ( | vtkDataArray * | sendBuffer, |
vtkDataArray * | recvBuffer | ||
) |
Same as gather except that the result ends up on all processes.
int vtkCommunicator::AllGather | ( | const vtkMultiProcessStream & | sendBuffer, |
std::vector< vtkMultiProcessStream > & | recvBuffer | ||
) |
Same as gather except that the result ends up on all processes.
int vtkCommunicator::AllGather | ( | vtkDataObject * | sendBuffer, |
std::vector< vtkSmartPointer< vtkDataObject > > & | recvBuffer | ||
) |
Gathers vtkDataObject (sendBuffer
) from all ranks to all raks.
[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. 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. |
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 832 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 838 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 850 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 856 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 862 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 868 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 874 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 880 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 892 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 898 of file vtkCommunicator.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 904 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 921 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 926 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 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 938 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 944 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 950 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 956 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 968 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 974 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 980 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 986 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 1017 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 1023 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 1029 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 1035 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 1047 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 1053 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 1059 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 1065 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 1071 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 1077 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 1091 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1095 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1100 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 1113 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1118 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1123 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1127 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1132 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1136 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1140 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1144 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 1151 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1155 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1160 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1164 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1169 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1173 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1178 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1183 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1187 of file vtkCommunicator.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1192 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 vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
virtual |
Subclasses should reimplement these if they have a more efficient implementation.
Reimplemented in vtkSocketCommunicator, and vtkMPICommunicator.
|
inlinevirtual |
Check if this communicator implements a probe operation.
This method is implemented for the probing operation for now so as to not have to implement it for all the subclasses of vtkCommunicator. In the future, one could imagine making the Probe method a pure virtual method and having it implemented everywhere so as to no longer need the CanProbe method.
Reimplemented in vtkMPICommunicator.
Definition at line 1251 of file vtkCommunicator.h.
|
inlinevirtual |
Blocking test for checking for a message tagged with tag from source process (if source == ANY_SOURCE check for any message).
Rank in actualSource is rank sending a message.
Check if implemented in this communicator using the CanProbe method before using.
Returns 1 on success and 0 on failure.
Definition at line 1262 of file vtkCommunicator.h.
|
static |
|
virtual |
Determine the global bounds for a set of processes.
BBox is initially set (outside of the call to the local bounds of the process and will be modified to be the global bounds - this default implementation views the processors as a heap tree with the root being processId = 0 If either rightHasBounds or leftHasBounds is not 0 then the corresponding int will be set to 1 if the right/left processor has bounds else it will be set to 0 The last three arguments are the tags to be used when performing the operation
|
static |
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for getting the right processor since it is 1 + theLeftProcessor.
|
static |
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 |
|
protected |
|
protected |
Definition at line 1348 of file vtkCommunicator.h.
|
protected |
Definition at line 1349 of file vtkCommunicator.h.
|
protected |
Definition at line 1351 of file vtkCommunicator.h.
|
staticprotected |
Definition at line 1353 of file vtkCommunicator.h.
|
protected |
Definition at line 1355 of file vtkCommunicator.h.