VTK
9.4.20241221
|
Process communication using MPI. More...
#include <vtkMPIController.h>
Public Types | |
typedef vtkMultiProcessController | Superclass |
Public Types inherited from vtkMultiProcessController | |
enum | Errors { RMI_NO_ERROR , RMI_TAG_ERROR , RMI_ARG_ERROR } |
enum | Consts { ANY_SOURCE = -1 , INVALID_SOURCE = -2 } |
enum | Tags { RMI_TAG = 1 , RMI_ARG_TAG = 2 , BREAK_RMI_TAG = 3 , XML_WRITER_DATA_INFO = 4 } |
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. | |
vtkMPIController * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
void | Initialize (int *argc, char ***argv) override |
This method is for setting up the processes. | |
void | Initialize (int *vtkNotUsed(argc), char ***vtkNotUsed(argv), int initializedExternally) override |
This method is for setting up the processes. | |
virtual void | Initialize () |
Same as Initialize(0, 0, 1). | |
void | Finalize () override |
This method is for cleaning up and has to be called before the end of the program if MPI was initialized with Initialize() | |
void | Finalize (int finalizedExternally) override |
This method is for cleaning up. | |
void | SingleMethodExecute () override |
Execute the SingleMethod (as define by SetSingleMethod) using this->NumberOfProcesses processes. | |
void | MultipleMethodExecute () override |
Execute the MultipleMethods (as define by calling SetMultipleMethod for each of the required this->NumberOfProcesses methods) using this->NumberOfProcesses processes. | |
void | CreateOutputWindow () override |
This method can be used to tell the controller to create a special output window in which all messages are preceded by the process id. | |
void | SetCommunicator (vtkMPICommunicator *comm) |
MPIController uses this communicator in all sends and receives. | |
vtkMPIController * | CreateSubController (vtkProcessGroup *group) override |
Creates a new controller with the processes specified by the given group. | |
vtkMPIController * | PartitionController (int localColor, int localKey) override |
Partitions this controller based on a coloring. | |
int | NoBlockSend (const void *data, vtkTypeInt64 length, MPI_Datatype mpiType, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
Variant that permits dynamic type sends, like those create by MPI_Type_create_subarray. | |
bool | CanProbe () override |
This controller does have probing capability. | |
int | WaitAll (int count, vtkMPICommunicator::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. | |
int | WaitAny (int count, vtkMPICommunicator::Request requests[], int &idx) |
Blocks until one of the specified requests in the given request array completes. | |
int | WaitSome (int count, vtkMPICommunicator::Request requests[], vtkIntArray *completed) |
Blocks until one or more of the specified requests in the given request request array completes. | |
bool | TestAll (int count, vtkMPICommunicator::Request requests[]) |
Returns true iff all of the communication request objects are complete. | |
bool | TestAny (int count, vtkMPICommunicator::Request requests[], int &idx) |
Returns true iff at least one of the communication request objects is complete. | |
bool | TestSome (int count, vtkMPICommunicator::Request requests[], vtkIntArray *completed) |
Return true iff one or more of the communicator request objects is complete. | |
int | NoBlockSend (const int *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const unsigned long *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const char *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const unsigned char *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const float *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const double *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const vtkTypeInt64 *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const int *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const unsigned long *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const char *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const unsigned char *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const float *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const double *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockSend (const vtkTypeInt64 *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method sends data to another process (non-blocking). | |
int | NoBlockReceive (int *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (unsigned long *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (char *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (unsigned char *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (float *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (double *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (vtkTypeInt64 *data, int length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (int *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (unsigned long *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (char *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (unsigned char *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (float *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (double *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | NoBlockReceive (vtkTypeInt64 *data, vtkTypeInt64 length, int remoteProcessId, int tag, vtkMPICommunicator::Request &req) |
This method receives data from a corresponding send (non-blocking). | |
int | Iprobe (int source, int tag, int *flag, int *actualSource) |
Nonblocking test for a message. | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, int *type, int *size) |
Nonblocking test for a message. | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, unsigned long *type, int *size) |
Nonblocking test for a message. | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, const char *type, int *size) |
Nonblocking test for a message. | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, float *type, int *size) |
Nonblocking test for a message. | |
int | Iprobe (int source, int tag, int *flag, int *actualSource, double *type, int *size) |
Nonblocking test for a message. | |
int | Probe (int source, int tag, int *actualSource) override |
Blocking test for a message. | |
int | Probe (int source, int tag, int *actualSource, int *type, int *size) |
Blocking test for a message. | |
int | Probe (int source, int tag, int *actualSource, unsigned long *type, int *size) |
Blocking test for a message. | |
int | Probe (int source, int tag, int *actualSource, const char *type, int *size) |
Blocking test for a message. | |
int | Probe (int source, int tag, int *actualSource, float *type, int *size) |
Blocking test for a message. | |
int | Probe (int source, int tag, int *actualSource, double *type, int *size) |
Blocking test for a message. | |
Public Member Functions inherited from vtkMultiProcessController | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. | |
vtkMultiProcessController * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. | |
virtual void | Initialize (int *vtkNotUsed(argc), char ***vtkNotUsed(argv))=0 |
This method is for setting up the processes. | |
virtual void | Initialize (int *vtkNotUsed(argc), char ***vtkNotUsed(argv), int initializedExternally)=0 |
This method is for setting up the processes. | |
virtual void | Finalize ()=0 |
This method is for cleaning up. | |
virtual void | Finalize (int finalizedExternally)=0 |
This method is for cleaning up. | |
void | SetSingleMethod (vtkProcessFunctionType, void *data) |
Set the SingleMethod to f() and the UserData of the for the method to be executed by all of the processes when SingleMethodExecute is called. | |
void | SetSingleProcessObject (vtkProcess *p) |
Object-oriented flavor of SetSingleMethod(). | |
virtual void | SingleMethodExecute ()=0 |
Execute the SingleMethod (as define by SetSingleMethod) using this->NumberOfProcesses processes. | |
void | SetMultipleMethod (int index, vtkProcessFunctionType, void *data) |
Set the MultipleMethod to f() and the UserData of the for the method to be executed by the process index when MultipleMethodExecute is called. | |
virtual void | MultipleMethodExecute ()=0 |
Execute the MultipleMethods (as define by calling SetMultipleMethod for each of the required this->NumberOfProcesses methods) using this->NumberOfProcesses processes. | |
int | GetLocalProcessId () |
Tells you which process [0, NumProcess) you are in. | |
virtual void | CreateOutputWindow ()=0 |
This method can be used to tell the controller to create a special output window in which all messages are preceded by the process id. | |
virtual vtkMultiProcessController * | CreateSubController (vtkProcessGroup *group) |
Creates a new controller with the processes specified by the given group. | |
virtual vtkMultiProcessController * | PartitionController (int localColor, int localKey) |
Partitions this controller based on a coloring. | |
virtual unsigned long | AddRMI (vtkRMIFunctionType, void *localArg, int tag) |
Register remote method invocation in the receiving process which makes the call. | |
virtual int | RemoveFirstRMI (int tag) |
Remove the first RMI matching the tag. | |
virtual int | RemoveRMI (unsigned long id) |
Remove the RMI matching the id. | |
virtual void | RemoveRMI (vtkRMIFunctionType f, void *arg, int tag) |
Take an RMI away. | |
virtual unsigned long | AddRMICallback (vtkRMIFunctionType, void *localArg, int tag) |
These methods are a part of the newer API to add multiple rmi callbacks. | |
virtual void | RemoveAllRMICallbacks (int tag) |
These methods are a part of the newer API to add multiple rmi callbacks. | |
virtual bool | RemoveRMICallback (unsigned long id) |
Remove a callback. | |
void | TriggerRMI (int remoteProcessId, void *arg, int argLength, int tag) |
A method to trigger a method invocation in another process. | |
void | TriggerBreakRMIs () |
A convenience method. | |
void | TriggerRMI (int remoteProcessId, const char *arg, int tag) |
Convenience method when the arg is a string. | |
void | TriggerRMI (int remoteProcessId, int tag) |
Convenience method when there is no argument. | |
void | Barrier () |
This method can be used to synchronize processes. | |
int | Send (const vtkMultiProcessStream &stream, int remoteId, int tag) |
Send a stream to another process. | |
int | Receive (vtkMultiProcessStream &stream, int remoteId, int tag) |
Receive a stream from the other processes. | |
vtkDataObject * | ReceiveDataObject (int remoteId, int tag) |
vtkIdType | GetCount () |
Returns the number of words received by the most recent Receive(). | |
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 (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId) |
int | GatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId) |
int | AllGather (vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer) |
Gathers vtkDataObject (sendBuffer ) from all ranks to all raks. | |
int | AllGather (const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer) |
Gathers vtkMultiProcessStream (sendBuffer ) from all ranks to the destProcessId . | |
int | AllGatherV (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) |
This special form of AllGatherV will automatically determine recvLengths and offsets to tightly pack the data in the recvBuffer in process order. | |
int | AllReduce (const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation) |
int | AllReduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation) |
virtual bool | CanProbe () |
Check if this controller implements a probe operation. | |
virtual int | Probe (int source, int tag, int *actualSource) |
Blocking test for checking for a message tagged with tag from source process (if source == ANY_SOURCE check for any message). | |
void | SetNumberOfProcesses (int num) |
Set the number of processes you will be using. | |
int | GetNumberOfProcesses () |
Set the number of processes you will be using. | |
void | TriggerRMIOnAllChildren (void *arg, int argLength, int tag) |
This is a convenicence method to trigger an RMI call on all the "children" of the current node. | |
void | TriggerRMIOnAllChildren (const char *arg, int tag) |
This is a convenicence method to trigger an RMI call on all the "children" of the current node. | |
void | TriggerRMIOnAllChildren (int tag) |
This is a convenicence method to trigger an RMI call on all the "children" of the current node. | |
void | BroadcastTriggerRMIOnAllChildren (void *arg, int argLength, int tag) |
This is a convenicence method to trigger an RMI call on all the "children" of the current node. | |
int | ProcessRMIs (int reportErrors, int dont_loop=0) |
Calling this method gives control to the controller to start processing RMIs. | |
int | ProcessRMIs () |
Calling this method gives control to the controller to start processing RMIs. | |
int | BroadcastProcessRMIs (int reportErrors, int dont_loop=0) |
Calling this method gives control to the controller to start processing RMIs. | |
virtual void | SetBreakFlag (int) |
Setting this flag to 1 will cause the ProcessRMIs loop to return. | |
virtual int | GetBreakFlag () |
Setting this flag to 1 will cause the ProcessRMIs loop to return. | |
virtual void | SetBroadcastTriggerRMI (bool) |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites. | |
virtual bool | GetBroadcastTriggerRMI () |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites. | |
virtual void | BroadcastTriggerRMIOn () |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites. | |
virtual void | BroadcastTriggerRMIOff () |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites. | |
virtual vtkCommunicator * | GetCommunicator () |
Returns the communicator associated with this controller. | |
int | Send (const int *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const short *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const unsigned short *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const unsigned int *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const unsigned long *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const long *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const signed char *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const char *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const unsigned char *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const float *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const double *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const long long *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (const unsigned long long *data, vtkIdType length, int remoteProcessId, int tag) |
This method sends data to another process. | |
int | Send (vtkDataObject *data, int remoteId, int tag) |
This method sends data to another process. | |
int | Send (vtkDataArray *data, int remoteId, int tag) |
This method sends data to another process. | |
int | Receive (int *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (unsigned int *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (short *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (unsigned short *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (long *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (unsigned long *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (char *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (unsigned char *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (signed char *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (float *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (double *data, vtkIdType maxlength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (long long *data, vtkIdType maxLength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (unsigned long long *data, vtkIdType maxLength, int remoteProcessId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (vtkDataObject *data, int remoteId, int tag) |
This method receives data from a corresponding send. | |
int | Receive (vtkDataArray *data, int remoteId, int tag) |
This method receives data from a corresponding send. | |
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, int destProcessId) |
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the data in the recvBuffer in process order. | |
int | GatherV (vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId) |
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the data in the recvBuffer in process order. | |
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 | 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 | 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, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (const long long *sendBuffer, long long *recvBuffer, vtkIdType length, vtkCommunicator::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, vtkCommunicator::Operation *operation, int destProcessId) |
Reduce an array to the given destination process. | |
int | Reduce (vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::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 | Reduce (const vtkBoundingBox &sendBuffer, vtkBoundingBox &recvBuffer, int destProcessId) |
Convenience methods to reduce bounds. | |
int | AllReduce (const vtkBoundingBox &sendBuffer, vtkBoundingBox &recvBuffer) |
Convenience methods to reduce bounds. | |
int | Reduce (vtkDataArraySelection *sendBuffer, vtkDataArraySelection *recvBuffer, int destProcessId) |
Convenience methods to reduce vtkDataArraySelection. | |
int | AllReduce (vtkDataArraySelection *sendBuffer, vtkDataArraySelection *recvBuffer) |
Convenience methods to reduce vtkDataArraySelection. | |
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 vtkMPIController * | New () |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkMPIController * | SafeDownCast (vtkObjectBase *o) |
static char * | ErrorString (int err) |
Given an MPI error code, return a string which contains an error message. | |
static const char * | GetProcessorName () |
static void | SetUseSsendForRMI (int use_send) |
When set to 1, TriggerRMI uses Ssend() instead of Send() calls. | |
static int | GetUseSsendForRMI () |
Static Public Member Functions inherited from vtkMultiProcessController | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkMultiProcessController * | SafeDownCast (vtkObjectBase *o) |
static vtkMultiProcessController * | GetGlobalController () |
This convenience method returns the controller associated with the local process. | |
static int | GetBreakRMITag () |
Accessor to some default tags. | |
static int | GetRMITag () |
static int | GetRMIArgTag () |
static void | SetGlobalController (vtkMultiProcessController *controller) |
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 |
vtkMPIController () | |
~vtkMPIController () override | |
void | InitializeCommunicator (vtkMPICommunicator *comm) |
void | InitializeRMICommunicator () |
void | TriggerRMIInternal (int remoteProcessId, void *arg, int argLength, int rmiTag, bool propagate) override |
Implementation for TriggerRMI() provides subclasses an opportunity to modify the behaviour eg. | |
Protected Member Functions inherited from vtkMultiProcessController | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkMultiProcessController () | |
~vtkMultiProcessController () override | |
virtual void | TriggerRMIInternal (int remoteProcessId, void *arg, int argLength, int rmiTag, bool propagate) |
Implementation for TriggerRMI() provides subclasses an opportunity to modify the behaviour eg. | |
void | GetMultipleMethod (int index, vtkProcessFunctionType &func, void *&data) |
void | ProcessRMI (int remoteProcessId, void *arg, int argLength, int rmiTag) |
virtual vtkMultiProcessController * | GetLocalController () |
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 &) |
Static Protected Attributes | |
static vtkMPICommunicator * | WorldRMICommunicator |
static int | Initialized |
static char | ProcessorName [] |
static int | UseSsendForRMI |
When set, TriggerRMI uses Ssend instead of Send. | |
Friends | |
class | vtkMPIOutputWindow |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
Protected Attributes inherited from vtkMultiProcessController | |
vtkProcessFunctionType | SingleMethod |
void * | SingleData |
int | BreakFlag |
int | ForceDeepCopy |
bool | BroadcastTriggerRMI |
vtkOutputWindow * | OutputWindow |
vtkCommunicator * | Communicator |
vtkCommunicator * | RMICommunicator |
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 |
Process communication using MPI.
vtkMPIController is a concrete class which implements the abstract multi-process control methods defined in vtkMultiProcessController using MPI (Message Passing Interface) cf. Using MPI / Portable Parallel Programming with the Message-Passing Interface, Gropp et al, MIT Press. It also provide functionality specific to MPI and not present in vtkMultiProcessController. Before any MPI communication can occur Initialize() must be called by all processes. It is required to be called once, controllers created after this need not call Initialize(). At the end of the program Finalize() must be called by all processes.
The use of user-defined communicators are supported with the CreateSubController method. Note that a duplicate of the user defined communicator is used for internal communications (RMIs). This communicator has the same properties as the user one except that it has a new context which prevents the two communicators from interfering with each other.
Definition at line 50 of file vtkMPIController.h.
Definition at line 55 of file vtkMPIController.h.
|
protected |
|
overrideprotected |
|
static |
|
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 vtkMultiProcessController.
|
static |
|
protectedvirtual |
Reimplemented from vtkMultiProcessController.
vtkMPIController * vtkMPIController::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.
|
inlineoverride |
This method is for setting up the processes.
It needs to be called only once during program execution. Calling it more than once will have no effect. Controllers created after this call will be initialized automatically (i.e. they will have the proper LocalProcessId and NumberOfProcesses). The addresses of argc and argv should be passed to this method otherwise command line arguments will not be correct (because usually MPI implementations add their own arguments during startup).
Definition at line 69 of file vtkMPIController.h.
|
overridevirtual |
This method is for setting up the processes.
If a subclass needs to initialize process communication (i.e. MPI) it would over ride this method. Provided for initialization outside vtk.
Implements vtkMultiProcessController.
|
virtual |
Same as Initialize(0, 0, 1).
Mainly for calling from wrapped languages.
|
inlineoverridevirtual |
This method is for cleaning up and has to be called before the end of the program if MPI was initialized with Initialize()
Implements vtkMultiProcessController.
Definition at line 84 of file vtkMPIController.h.
|
overridevirtual |
This method is for cleaning up.
If a subclass needs to clean up process communication (i.e. MPI) it would over ride this method. Provided for finalization outside vtk.
Implements vtkMultiProcessController.
|
overridevirtual |
Execute the SingleMethod (as define by SetSingleMethod) using this->NumberOfProcesses processes.
Implements vtkMultiProcessController.
|
overridevirtual |
Execute the MultipleMethods (as define by calling SetMultipleMethod for each of the required this->NumberOfProcesses methods) using this->NumberOfProcesses processes.
Implements vtkMultiProcessController.
|
overridevirtual |
This method can be used to tell the controller to create a special output window in which all messages are preceded by the process id.
Implements vtkMultiProcessController.
|
static |
Given an MPI error code, return a string which contains an error message.
This string has to be freed by the user.
void vtkMPIController::SetCommunicator | ( | vtkMPICommunicator * | comm | ) |
MPIController uses this communicator in all sends and receives.
By default, MPI_COMM_WORLD is used. THIS SHOULD ONLY BE CALLED ON THE PROCESSES INCLUDED IN THE COMMUNICATOR. FOR EXAMPLE, IF THE COMMUNICATOR CONTAINS PROCESSES 0 AND 1, INVOKING THIS METHOD ON ANY OTHER PROCESS WILL CAUSE AN MPI ERROR AND POSSIBLY LEAD TO A CRASH.
|
overridevirtual |
Creates a new controller with the processes specified by the given group.
The new controller will already be initialized for you. You are responsible for deleting the controller once you are done. It is invalid to pass this method a group with a different communicator than is used by this controller. This operation is collective across all processes defined in the group. It is undefined what will happen if the group is not the same on all processes. This method must be called by all processes in the controller regardless of whether they are in the group. nullptr is returned on all process not in the group.
Reimplemented from vtkMultiProcessController.
|
overridevirtual |
Partitions this controller based on a coloring.
That is, each process passes in a color. All processes with the same color are grouped into the same partition. The processes are ordered by their self-assigned key. Lower keys have lower process ids. Ties are broken by the current process ids. (For example, if all the keys are 0, then the resulting processes will be ordered in the same way.) This method returns a new controller to each process that represents the local partition. This is basically the same operation as MPI_Comm_split.
Reimplemented from vtkMultiProcessController.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 139 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 145 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 151 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 157 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 163 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 169 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 175 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 181 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 187 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 193 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 199 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 205 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 211 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 217 of file vtkMPIController.h.
|
inline |
Variant that permits dynamic type sends, like those create by MPI_Type_create_subarray.
Definition at line 228 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 244 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 250 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 256 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 262 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 268 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 274 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 280 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 286 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 292 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 298 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 304 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 310 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 316 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 322 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 341 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 345 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 350 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 355 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 360 of file vtkMPIController.h.
|
inline |
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. Note: These methods delegate to the communicator
Definition at line 365 of file vtkMPIController.h.
|
inlineoverridevirtual |
This controller does have probing capability.
Reimplemented from vtkMultiProcessController.
Definition at line 375 of file vtkMPIController.h.
|
inlineoverridevirtual |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Reimplemented from vtkMultiProcessController.
Definition at line 387 of file vtkMPIController.h.
|
inline |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Definition at line 391 of file vtkMPIController.h.
|
inline |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Definition at line 395 of file vtkMPIController.h.
|
inline |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Definition at line 399 of file vtkMPIController.h.
|
inline |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Definition at line 403 of file vtkMPIController.h.
|
inline |
Blocking test for a message.
Inputs are: source – the source rank or ANY_SOURCE; tag – the tag value. Outputs are: actualSource – the rank sending the message (useful if ANY_SOURCE is used) if 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. Note: These methods delegate to the communicator
Definition at line 407 of file vtkMPIController.h.
|
inline |
Given the request objects of a set of non-blocking operations (send and/or receive) this method blocks until all requests are complete.
Note: This method delegates to the communicator
Definition at line 418 of file vtkMPIController.h.
|
inline |
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. Note: this method delegates to the communicator
Definition at line 429 of file vtkMPIController.h.
int vtkMPIController::WaitSome | ( | int | count, |
vtkMPICommunicator::Request | requests[], | ||
vtkIntArray * | 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.
bool vtkMPIController::TestAll | ( | int | count, |
vtkMPICommunicator::Request | requests[] | ||
) |
Returns true iff all of the communication request objects are complete.
bool vtkMPIController::TestAny | ( | int | count, |
vtkMPICommunicator::Request | requests[], | ||
int & | idx | ||
) |
Returns true iff at least one of the communication request objects is complete.
The index of the completed request, w.r.t. the requests array, is reflected in the out parameter idx. Otherwise, if none of the communication requests are complete false is returned.
bool vtkMPIController::TestSome | ( | int | count, |
vtkMPICommunicator::Request | requests[], | ||
vtkIntArray * | completed | ||
) |
Return true iff one or more of the communicator request objects is complete.
The indices of the completed requests, w.r.t. the requests array, are given in the completed user-supplied vtkIntArray.
|
static |
|
inlinestatic |
When set to 1, TriggerRMI uses Ssend() instead of Send() calls.
Off (0) by default.
Definition at line 471 of file vtkMPIController.h.
|
inlinestatic |
Definition at line 475 of file vtkMPIController.h.
|
protected |
|
protected |
|
overrideprotectedvirtual |
Implementation for TriggerRMI() provides subclasses an opportunity to modify the behaviour eg.
MPIController provides ability to use Ssend instead of Send.
Reimplemented from vtkMultiProcessController.
|
friend |
Definition at line 502 of file vtkMPIController.h.
|
staticprotected |
Definition at line 500 of file vtkMPIController.h.
|
staticprotected |
Definition at line 505 of file vtkMPIController.h.
|
staticprotected |
Definition at line 507 of file vtkMPIController.h.
|
staticprotected |
When set, TriggerRMI uses Ssend instead of Send.
Definition at line 512 of file vtkMPIController.h.