VTK
|
Class for creating user defined MPI communicators. More...
#include <vtkMPICommunicator.h>
Classes | |
class | Request |
Public Types | |
typedef vtkCommunicator | Superclass |
Public Types inherited from vtkCommunicator | |
enum | Tags { BROADCAST_TAG = 10, GATHER_TAG = 11, GATHERV_TAG = 12, SCATTER_TAG = 13, SCATTERV_TAG = 14, REDUCE_TAG = 15, BARRIER_TAG = 16 } |
enum | StandardOperations { MAX_OP, MIN_OP, SUM_OP, PRODUCT_OP, LOGICAL_AND_OP, BITWISE_AND_OP, LOGICAL_OR_OP, BITWISE_OR_OP, LOGICAL_XOR_OP, BITWISE_XOR_OP } |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkMPICommunicator * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
int | Initialize (vtkProcessGroup *group) |
Used to initialize the communicator (i.e. More... | |
int | SplitInitialize (vtkCommunicator *oldcomm, int color, int key) |
Used to initialize the communicator (i.e. More... | |
int | WaitAll (const int count, Request requests[]) |
Given the request objects of a set of non-blocking operations (send and/or receive) this method blocks until all requests are complete. More... | |
int | WaitAny (const int count, Request requests[], int &idx) |
Blocks until one of the specified requests in the given request array completes. More... | |
int | WaitSome (const int count, Request requests[], int &NCompleted, int *completed) |
Blocks until one or more of the specified requests in the given request request array completes. More... | |
int | TestAll (const int count, Request requests[], int &flag) |
Checks if the given communication request objects are complete. More... | |
int | TestAny (const int count, Request requests[], int &idx, int &flag) |
Check if at least one of the specified requests has completed. More... | |
int | TestSome (const int count, Request requests[], int &NCompleted, int *completed) |
Checks the status of all the given request communication object handles. More... | |
vtkMPICommunicatorOpaqueComm * | GetMPIComm () |
int | InitializeExternal (vtkMPICommunicatorOpaqueComm *comm) |
void | CopyFrom (vtkMPICommunicator *source) |
Copies all the attributes of source, deleting previously stored data. More... | |
virtual int | SendVoidArray (const void *data, vtkIdType length, int type, int remoteProcessId, int tag) override |
Performs the actual communication. More... | |
virtual int | ReceiveVoidArray (void *data, vtkIdType length, int type, int remoteProcessId, int tag) override |
Performs the actual communication. More... | |
int | NoBlockSend (const int *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockSend (const unsigned long *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockSend (const char *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockSend (const unsigned char *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockSend (const float *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockSend (const double *data, int length, int remoteProcessId, int tag, Request &req) |
This method sends data to another process (non-blocking). More... | |
int | NoBlockReceive (int *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
int | NoBlockReceive (unsigned long *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
int | NoBlockReceive (char *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
int | NoBlockReceive (unsigned char *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
int | NoBlockReceive (float *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
int | NoBlockReceive (double *data, int length, int remoteProcessId, int tag, Request &req) |
This method receives data from a corresponding send (non-blocking). More... | |
virtual void | Barrier () override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | BroadcastVoidArray (void *data, vtkIdType length, int type, int srcProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | GatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int destProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | GatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type, int destProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | ScatterVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int srcProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | ScatterVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int type, int srcProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | AllGatherVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | AllGatherVVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation, int destProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | ReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation, int destProcessId) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
virtual int | AllReduceVoidArray (const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation) override |
More efficient implementations of collective operations that use the equivalent MPI commands. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource) |
Nonblocking test for a message. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, int *type, int *size) |
Nonblocking test for a message. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, unsigned long *type, int *size) |
Nonblocking test for a message. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, const char *type, int *size) |
Nonblocking test for a message. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, float *type, int *size) |
Nonblocking test for a message. More... | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, double *type, int *size) |
Nonblocking test for a message. More... | |
virtual void | SetUseSsend (int) |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls. More... | |
virtual int | GetUseSsend () |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls. More... | |
virtual void | UseSsendOn () |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls. More... | |
virtual void | UseSsendOff () |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls. More... | |
Public Member Functions inherited from vtkCommunicator | |
vtkCommunicator * | NewInstance () const |
int | Send (vtkDataObject *data, int remoteHandle, int tag) |
This method sends a data object to a destination. More... | |
int | Send (vtkDataArray *data, int remoteHandle, int tag) |
This method sends a data array to a destination. More... | |
int | Send (const vtkMultiProcessStream &stream, int remoteId, int tag) |
int | Receive (vtkDataObject *data, int remoteHandle, int tag) |
This method receives a data object from a corresponding send. More... | |
vtkDataObject * | ReceiveDataObject (int remoteHandle, int tag) |
The caller does not have to know the data type before this call is made. More... | |
int | Receive (vtkDataArray *data, int remoteHandle, int tag) |
This method receives a data array from a corresponding send. More... | |
int | Receive (vtkMultiProcessStream &stream, int remoteId, int tag) |
int | Broadcast (vtkMultiProcessStream &stream, int srcProcessId) |
int | Gather (vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId) |
Gathers vtkDataObject (sendBuffer ) from all ranks to the destProcessId . More... | |
int | GatherV (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId) |
Collects data objects in the process with id destProcessId . More... | |
virtual int | ComputeGlobalBounds (int processorId, int numProcesses, vtkBoundingBox *bounds, int *rightHasBounds=nullptr, int *leftHasBounds=nullptr, int hasBoundsTag=288402, int localBoundsTag=288403, int globalBoundsTag=288404) |
Determine the global bounds for a set of processes. More... | |
virtual void | SetNumberOfProcesses (int num) |
Set the number of processes you will be using. More... | |
virtual int | GetNumberOfProcesses () |
Set the number of processes you will be using. More... | |
virtual int | GetLocalProcessId () |
Tells you which process [0, NumProcess) you are in. More... | |
int | Send (const int *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned int *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned short *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const signed char *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const float *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const double *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Send (const unsigned long long *data, vtkIdType length, int remoteHandle, int tag) |
Convenience methods for sending data arrays. More... | |
int | Receive (int *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned int *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned short *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (signed char *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (float *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (double *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
int | Receive (unsigned long long *data, vtkIdType maxlength, int remoteHandle, int tag) |
Convenience methods for receiving data arrays. More... | |
virtual vtkIdType | GetCount () |
Returns the number of words received by the most recent Receive(). More... | |
int | Broadcast (int *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned int *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (short *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned short *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (signed char *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (float *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (double *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (long long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (unsigned long long *data, vtkIdType length, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (vtkDataObject *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Broadcast (vtkDataArray *data, int srcProcessId) |
Broadcast sends the array in the process with id srcProcessId to all of the other processes. More... | |
int | Gather (const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | Gather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
Gather collects arrays in the process with id destProcessId . More... | |
int | GatherV (const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
GatherV is the vector variant of Gather. More... | |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as parameters For the second GatherV variant, recvLengths and offsets are not known on destProcessId . More... | |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId) |
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as parameters For the second GatherV variant, recvLengths and offsets are not known on destProcessId . More... | |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId) |
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as parameters For the second GatherV variant, recvLengths and offsets are not known on destProcessId . More... | |
int | Scatter (const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const long *sendBuffer, long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | Scatter (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId) |
Scatter takes an array in the process with id srcProcessId and distributes it. More... | |
int | ScatterV (const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | ScatterV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId) |
ScatterV is the vector variant of Scatter. More... | |
int | AllGather (const int *sendBuffer, int *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const short *sendBuffer, short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const long *sendBuffer, long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const char *sendBuffer, char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const float *sendBuffer, float *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const double *sendBuffer, double *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const long long *sendBuffer, long long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGather (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as gather except that the result ends up on all processes. More... | |
int | AllGatherV (const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets) |
Same as GatherV except that the result is placed in all processes. More... | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
Same as GatherV except that the result is placed in all processes. More... | |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation, int destProcessId) |
Reduce an array to the given destination process. More... | |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation) |
Same as Reduce except that the result is placed in all of the processes. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkMPICommunicator * | SafeDownCast (vtkObjectBase *o) |
static vtkMPICommunicator * | New () |
Creates an empty communicator. More... | |
static vtkMPICommunicator * | GetWorldCommunicator () |
Returns the singleton which behaves as the global communicator (MPI_COMM_WORLD) More... | |
static char * | Allocate (size_t size) |
static void | Free (char *ptr) |
Static Public Member Functions inherited from vtkCommunicator | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkCommunicator * | SafeDownCast (vtkObjectBase *o) |
static void | SetUseCopy (int useCopy) |
static vtkSmartPointer< vtkDataObject > | UnMarshalDataObject (vtkCharArray *buffer) |
Same as UnMarshalDataObject(vtkCharArray*, vtkDataObject*) except that this method doesn't need to know the type of the data object a priori. More... | |
static int | GetParentProcessor (int pid) |
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for getting the right processor since it is 1 + theLeftProcessor. More... | |
static int | GetLeftChildProcessor (int pid) |
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for getting the right processor since it is 1 + theLeftProcessor. More... | |
static int | MarshalDataObject (vtkDataObject *object, vtkCharArray *buffer) |
Convert a data object into a string that can be transmitted and vice versa. More... | |
static int | UnMarshalDataObject (vtkCharArray *buffer, vtkDataObject *object) |
Convert a data object into a string that can be transmitted and vice versa. More... | |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkMPICommunicator () | |
~vtkMPICommunicator () | |
int | InitializeNumberOfProcesses () |
void | InitializeCopy (vtkMPICommunicator *source) |
void | Duplicate (vtkMPICommunicator *source) |
Copies all the attributes of source, deleting previously stored data EXCEPT the MPI communicator handle which is duplicated with MPI_Comm_dup(). More... | |
virtual int | ReceiveDataInternal (char *data, int length, int sizeoftype, int remoteProcessId, int tag, vtkMPICommunicatorReceiveDataInfo *info, int useCopy, int &senderId) |
Implementation for receive data. More... | |
virtual void | SetKeepHandle (int) |
KeepHandle is normally off. More... | |
virtual void | KeepHandleOn () |
KeepHandle is normally off. More... | |
virtual void | KeepHandleOff () |
KeepHandle is normally off. More... | |
Protected Member Functions inherited from vtkCommunicator | |
int | WriteDataArray (vtkDataArray *object) |
int | ReadDataArray (vtkDataArray *object) |
vtkCommunicator () | |
~vtkCommunicator () override | |
int | SendElementalDataObject (vtkDataObject *data, int remoteHandle, int tag) |
int | ReceiveDataObject (vtkDataObject *data, int remoteHandle, int tag, int type=-1) |
int | ReceiveElementalDataObject (vtkDataObject *data, int remoteHandle, int tag) |
int | ReceiveMultiBlockDataSet (vtkMultiBlockDataSet *data, int remoteHandle, int tag) |
int | GatherV (vtkDataArray *sendArray, vtkDataArray *recvArray, vtkSmartPointer< vtkDataArray > *recvArrays, int destProcessId) |
GatherV collects arrays in the process with id destProcessId . More... | |
int | GatherVElementalDataObject (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *receiveData, int destProcessId) |
GatherV collects arrays in the process with id destProcessId . More... | |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Static Protected Member Functions | |
static int | CheckForMPIError (int err) |
Protected Attributes | |
vtkMPICommunicatorOpaqueComm * | MPIComm |
int | Initialized |
int | KeepHandle |
int | LastSenderId |
int | UseSsend |
Protected Attributes inherited from vtkCommunicator | |
int | MaximumNumberOfProcesses |
int | NumberOfProcesses |
int | LocalProcessId |
vtkIdType | Count |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Static Protected Attributes | |
static vtkMPICommunicator * | WorldCommunicator |
Static Protected Attributes inherited from vtkCommunicator | |
static int | UseCopy |
Friends | |
class | vtkMPIController |
Class for creating user defined MPI communicators.
This class can be used to create user defined MPI communicators. The actual creation (with MPI_Comm_create) occurs in Initialize which takes as arguments a super-communicator and a group of process ids. The new communicator is created by including the processes contained in the group. The global communicator (equivalent to MPI_COMM_WORLD) can be obtained using the class method GetWorldCommunicator. It is important to note that this communicator should not be used on the processes not contained in the group. For example, if the group contains processes 0 and 1, controller->SetCommunicator(communicator) would cause an MPI error on any other process.
Definition at line 52 of file vtkMPICommunicator.h.
Definition at line 69 of file vtkMPICommunicator.h.
|
protected |
|
protected |
|
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 vtkCommunicator.
|
static |
|
protectedvirtual |
Reimplemented from vtkCommunicator.
vtkMPICommunicator* vtkMPICommunicator::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 vtkCommunicator.
|
static |
Creates an empty communicator.
|
static |
Returns the singleton which behaves as the global communicator (MPI_COMM_WORLD)
int vtkMPICommunicator::Initialize | ( | vtkProcessGroup * | group | ) |
Used to initialize the communicator (i.e.
create the underlying MPI_Comm). The group must be associated with a valid vtkMPICommunicator.
int vtkMPICommunicator::SplitInitialize | ( | vtkCommunicator * | oldcomm, |
int | color, | ||
int | key | ||
) |
Used to initialize the communicator (i.e.
create the underlying MPI_Comm) using MPI_Comm_split on the given communicator. Return values are 1 for success and 0 otherwise.
|
overridevirtual |
Performs the actual communication.
You will usually use the convenience Send functions defined in the superclass. Return values are 1 for success and 0 otherwise.
Implements vtkCommunicator.
|
overridevirtual |
Performs the actual communication.
You will usually use the convenience Send functions defined in the superclass. Return values are 1 for success and 0 otherwise.
Implements vtkCommunicator.
int vtkMPICommunicator::NoBlockSend | ( | const int * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockSend | ( | const unsigned long * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockSend | ( | const char * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockSend | ( | const unsigned char * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockSend | ( | const float * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockSend | ( | const double * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method sends data to another process (non-blocking).
Tag eliminates ambiguity when multiple sends or receives exist in the same process. The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | int * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | unsigned long * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | char * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | unsigned char * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | float * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
int vtkMPICommunicator::NoBlockReceive | ( | double * | data, |
int | length, | ||
int | remoteProcessId, | ||
int | tag, | ||
Request & | req | ||
) |
This method receives data from a corresponding send (non-blocking).
The last argument, vtkMPICommunicator::Request& req can later be used (with req.Test() ) to test the success of the message. Return values are 1 for success and 0 otherwise.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
|
overridevirtual |
More efficient implementations of collective operations that use the equivalent MPI commands.
Return values are 1 for success and 0 otherwise.
Reimplemented from vtkCommunicator.
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
int vtkMPICommunicator::Iprobe | ( | int | source, |
int | tag, | ||
int * | flag, | ||
int * | actualSource, | ||
int * | type, | ||
int * | size | ||
) |
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
int vtkMPICommunicator::Iprobe | ( | int | source, |
int | tag, | ||
int * | flag, | ||
int * | actualSource, | ||
unsigned long * | type, | ||
int * | size | ||
) |
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
int vtkMPICommunicator::Iprobe | ( | int | source, |
int | tag, | ||
int * | flag, | ||
int * | actualSource, | ||
const char * | type, | ||
int * | size | ||
) |
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
int vtkMPICommunicator::Iprobe | ( | int | source, |
int | tag, | ||
int * | flag, | ||
int * | actualSource, | ||
float * | type, | ||
int * | size | ||
) |
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
int vtkMPICommunicator::Iprobe | ( | int | source, |
int | tag, | ||
int * | flag, | ||
int * | actualSource, | ||
double * | type, | ||
int * | size | ||
) |
Nonblocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: flag – True if a message matches; actualSource – the rank sending the message (useful if ANY_SOURCE is used) if flag is True and actualSource isn't nullptr; size – the length of the message in bytes if flag is true (only set if size isn't nullptr). The return value is 1 for success and 0 otherwise.
Given the request objects of a set of non-blocking operations (send and/or receive) this method blocks until all requests are complete.
Blocks until one of the specified requests in the given request array completes.
Upon return, the index in the array of the completed request object is returned through the argument list.
int vtkMPICommunicator::WaitSome | ( | const int | count, |
Request | requests[], | ||
int & | NCompleted, | ||
int * | completed | ||
) |
Blocks until one or more of the specified requests in the given request request array completes.
Upon return, the list of handles that have completed is stored in the completed vtkIntArray.
Checks if the given communication request objects are complete.
Upon return, flag evaluates to true iff all of the communication request objects are complete.
Check if at least one of the specified requests has completed.
int vtkMPICommunicator::TestSome | ( | const int | count, |
Request | requests[], | ||
int & | NCompleted, | ||
int * | completed | ||
) |
Checks the status of all the given request communication object handles.
Upon return, NCompleted holds the count of requests that have completed and the indices of the completed requests, w.r.t. the requests array is given the by the pre-allocated completed array.
|
inline |
Definition at line 269 of file vtkMPICommunicator.h.
int vtkMPICommunicator::InitializeExternal | ( | vtkMPICommunicatorOpaqueComm * | comm | ) |
|
static |
|
static |
|
virtual |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls.
Default is 0.
|
virtual |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls.
Default is 0.
|
virtual |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls.
Default is 0.
|
virtual |
When set to 1, all MPI_Send calls are replaced by MPI_Ssend calls.
Default is 0.
void vtkMPICommunicator::CopyFrom | ( | vtkMPICommunicator * | source | ) |
Copies all the attributes of source, deleting previously stored data.
The MPI communicator handle is also copied. Normally, this should not be needed. It is used during the construction of a new communicator for copying the world communicator, keeping the same context.
|
protected |
|
protectedvirtual |
KeepHandle is normally off.
This means that the MPI communicator handle will be freed at the destruction of the object. However, if the handle was copied from another object (via CopyFrom() not Duplicate()), this has to be turned on otherwise the handle will be freed multiple times causing MPI failure. The alternative to this is using reference counting but it is unnecessarily complicated for this case.
|
protectedvirtual |
KeepHandle is normally off.
This means that the MPI communicator handle will be freed at the destruction of the object. However, if the handle was copied from another object (via CopyFrom() not Duplicate()), this has to be turned on otherwise the handle will be freed multiple times causing MPI failure. The alternative to this is using reference counting but it is unnecessarily complicated for this case.
|
protectedvirtual |
KeepHandle is normally off.
This means that the MPI communicator handle will be freed at the destruction of the object. However, if the handle was copied from another object (via CopyFrom() not Duplicate()), this has to be turned on otherwise the handle will be freed multiple times causing MPI failure. The alternative to this is using reference counting but it is unnecessarily complicated for this case.
|
protected |
|
protected |
Copies all the attributes of source, deleting previously stored data EXCEPT the MPI communicator handle which is duplicated with MPI_Comm_dup().
Therefore, although the processes in the communicator remain the same, a new context is created. This prevents the two communicators from intefering with each other during message send/receives even if the tags are the same.
|
protectedvirtual |
Implementation for receive data.
|
friend |
Definition at line 267 of file vtkMPICommunicator.h.
|
staticprotected |
Definition at line 319 of file vtkMPICommunicator.h.
|
protected |
Definition at line 347 of file vtkMPICommunicator.h.
|
protected |
Definition at line 349 of file vtkMPICommunicator.h.
|
protected |
Definition at line 350 of file vtkMPICommunicator.h.
|
protected |
Definition at line 352 of file vtkMPICommunicator.h.
|
protected |
Definition at line 353 of file vtkMPICommunicator.h.