VTK
9.1.0
|
Multiprocessing communication superclass. More...
#include <vtkMultiProcessController.h>
Public Types | |
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. | |
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) |
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) |
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. | |
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. | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. | |
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. | |
virtual 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. | |
Static Public Member Functions | |
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 (int 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 int | 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 |
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 *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
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 |
Protected Attributes inherited from vtkObjectBase | |
std::atomic< int32_t > | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
Additional Inherited Members | |
Static Protected Member Functions inherited from vtkObjectBase | |
static vtkMallocingFunction | GetCurrentMallocFunction () |
static vtkReallocingFunction | GetCurrentReallocFunction () |
static vtkFreeingFunction | GetCurrentFreeFunction () |
static vtkFreeingFunction | GetAlternateFreeFunction () |
Multiprocessing communication superclass.
vtkMultiProcessController is used to control multiple processes in a distributed computing environment. It has methods for executing single/multiple method(s) on multiple processors, triggering registered callbacks (Remote Methods) (AddRMI(), TriggerRMI()) and communication. Please note that the communication is done using the communicator which is accessible to the user. Therefore it is possible to get the communicator with GetCommunicator() and use it to send and receive data. This is the encouraged communication method. The internal (RMI) communications are done using a second internal communicator (called RMICommunicator).
There are two modes for RMI communication: (1) Send/Receive mode and (2) Broadcast (collective) mode. The Send/Receive mode arranges processes in a binary tree using post-order traversal and propagates the RMI trigger starting from the root (rank 0) to the children. It is commonly employed to communicate between client/server over TCP. Although, the Send/Receive mode can be employed transparently over TCP or MPI, it is not optimal for triggering the RMIs on the satellite ranks. The Broadcast mode provides a more desirable alternative, namely, it uses MPI_Broadcast for communication, which is the nominal way of achieving this in an MPI context. The underlying communication mode used for triggering RMIs is controlled by the "BroadcastTriggerRMI" variable. Note, that mixing between the two modes for RMI communication is not correct behavior. All processes within the vtkMultiProcessController must use the same mode for triggering RMI.
Definition at line 76 of file vtkMultiProcessController.h.
Definition at line 79 of file vtkMultiProcessController.h.
Enumerator | |
---|---|
RMI_NO_ERROR | |
RMI_TAG_ERROR | |
RMI_ARG_ERROR |
Definition at line 358 of file vtkMultiProcessController.h.
Enumerator | |
---|---|
ANY_SOURCE | |
INVALID_SOURCE |
Definition at line 365 of file vtkMultiProcessController.h.
Enumerator | |
---|---|
RMI_TAG | |
RMI_ARG_TAG | |
BREAK_RMI_TAG | |
XML_WRITER_DATA_INFO |
Definition at line 371 of file vtkMultiProcessController.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Return 1 if this class is the same type of (or a subclass of) the named class.
Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
Reimplemented in vtkDummyController, vtkSocketController, and vtkMPIController.
|
static |
|
protectedvirtual |
Reimplemented in vtkDummyController, vtkSocketController, and vtkMPIController.
vtkMultiProcessController * vtkMultiProcessController::NewInstance | ( | ) | const |
|
overridevirtual |
Methods invoked by print to print information about the object including superclasses.
Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkObject.
Reimplemented in vtkSocketController, and vtkMPIController.
|
pure virtual |
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.
|
pure virtual |
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.
Implemented in vtkMPIController.
|
pure virtual |
This method is for cleaning up.
If a subclass needs to clean up process communication (i.e. MPI) it would over ride this method.
Implemented in vtkDummyController, vtkSocketController, and vtkMPIController.
|
pure virtual |
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.
Implemented in vtkMPIController, vtkDummyController, and vtkSocketController.
void vtkMultiProcessController::SetNumberOfProcesses | ( | int | num | ) |
Set the number of processes you will be using.
This defaults to the maximum number available. If you set this to a value higher than the default, you will get an error.
int vtkMultiProcessController::GetNumberOfProcesses | ( | ) |
Set the number of processes you will be using.
This defaults to the maximum number available. If you set this to a value higher than the default, you will get an error.
void vtkMultiProcessController::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.
All the processes will start by calling this function.
void vtkMultiProcessController::SetSingleProcessObject | ( | vtkProcess * | p | ) |
Object-oriented flavor of SetSingleMethod().
Instead of passing some function pointer and user data, a vtkProcess object is passed where the method to execute is Execute() and the data the object itself.
|
pure virtual |
Execute the SingleMethod (as define by SetSingleMethod) using this->NumberOfProcesses processes.
This will only return when all the processes finish executing their methods.
Implemented in vtkDummyController, vtkSocketController, and vtkMPIController.
void vtkMultiProcessController::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.
This is for having each process start with a different function and data argument.
|
pure virtual |
Execute the MultipleMethods (as define by calling SetMultipleMethod for each of the required this->NumberOfProcesses methods) using this->NumberOfProcesses processes.
Implemented in vtkDummyController, vtkSocketController, and vtkMPIController.
int vtkMultiProcessController::GetLocalProcessId | ( | ) |
Tells you which process [0, NumProcess) you are in.
|
static |
This convenience method returns the controller associated with the local process.
It returns nullptr until the processes are spawned. It is better if you hang on to the controller passed as an argument to the SingleMethod or MultipleMethod functions.
|
pure virtual |
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.
Implemented in vtkDummyController, vtkSocketController, and vtkMPIController.
|
virtual |
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 in vtkMPIController.
|
virtual |
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 in vtkMPIController.
|
virtual |
Register remote method invocation in the receiving process which makes the call.
It must have a unique tag as an RMI id. The vtkRMIFunctionType has several arguments: localArg (same as passed in), remoteArg, remoteArgLength (memory passed by process triggering the RMI), remoteProcessId. Since only one callback can be registered per tag, this method will remove any previously registered callback for the given tag. Returns a unique Id for the RMI registration which can be used to unregister the callback. RemoveRMI() should be preferred over RemoveFirstRMI() since it avoid accidental removal of callbacks.
|
virtual |
Remove the first RMI matching the tag.
|
virtual |
Remove the RMI matching the id.
The id is the same id returned by AddRMI().
|
inlinevirtual |
Take an RMI away.
Definition at line 233 of file vtkMultiProcessController.h.
|
virtual |
These methods are a part of the newer API to add multiple rmi callbacks.
When the RMI is triggered, all the callbacks are called Adds a new callback for an RMI. Returns the identifier for the callback.
|
virtual |
These methods are a part of the newer API to add multiple rmi callbacks.
When the RMI is triggered, all the callbacks are called Removes all callbacks for the tag.
|
virtual |
Remove a callback.
Returns true is the remove was successful.
void vtkMultiProcessController::TriggerRMI | ( | int | remoteProcessId, |
void * | arg, | ||
int | argLength, | ||
int | tag | ||
) |
A method to trigger a method invocation in another process.
void vtkMultiProcessController::TriggerBreakRMIs | ( | ) |
A convenience method.
Called on process 0 to break "ProcessRMIs" loop on all other processes.
|
inline |
Convenience method when the arg is a string.
Definition at line 274 of file vtkMultiProcessController.h.
|
inline |
Convenience method when there is no argument.
Definition at line 282 of file vtkMultiProcessController.h.
void vtkMultiProcessController::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.
The children of the current node can be determined by drawing a binary tree starting at node 0 and then assigned nodes ids incrementally in a breadth-first fashion from left to right. This is designed to be used when trigger an RMI call on all satellites from the root node.
|
inline |
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
The children of the current node can be determined by drawing a binary tree starting at node 0 and then assigned nodes ids incrementally in a breadth-first fashion from left to right. This is designed to be used when trigger an RMI call on all satellites from the root node.
Definition at line 297 of file vtkMultiProcessController.h.
|
inline |
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
The children of the current node can be determined by drawing a binary tree starting at node 0 and then assigned nodes ids incrementally in a breadth-first fashion from left to right. This is designed to be used when trigger an RMI call on all satellites from the root node.
Definition at line 301 of file vtkMultiProcessController.h.
void vtkMultiProcessController::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.
The children of the current node can be determined by drawing a binary tree starting at node 0 and then assigned nodes ids incrementally in a breadth-first fashion from left to right. This is designed to be used when trigger an RMI call on all satellites from the root node.
int vtkMultiProcessController::ProcessRMIs | ( | int | reportErrors, |
int | dont_loop = 0 |
||
) |
Calling this method gives control to the controller to start processing RMIs.
Possible return values are: RMI_NO_ERROR, RMI_TAG_ERROR : rmi tag could not be received, RMI_ARG_ERROR : rmi arg could not be received. If reportErrors is false, no vtkErrorMacro is called. ProcessRMIs() calls ProcessRMIs(int) with reportErrors = 0. If dont_loop is 1, this call just process one RMI message and exits.
int vtkMultiProcessController::ProcessRMIs | ( | ) |
Calling this method gives control to the controller to start processing RMIs.
Possible return values are: RMI_NO_ERROR, RMI_TAG_ERROR : rmi tag could not be received, RMI_ARG_ERROR : rmi arg could not be received. If reportErrors is false, no vtkErrorMacro is called. ProcessRMIs() calls ProcessRMIs(int) with reportErrors = 0. If dont_loop is 1, this call just process one RMI message and exits.
int vtkMultiProcessController::BroadcastProcessRMIs | ( | int | reportErrors, |
int | dont_loop = 0 |
||
) |
Calling this method gives control to the controller to start processing RMIs.
Possible return values are: RMI_NO_ERROR, RMI_TAG_ERROR : rmi tag could not be received, RMI_ARG_ERROR : rmi arg could not be received. If reportErrors is false, no vtkErrorMacro is called. ProcessRMIs() calls ProcessRMIs(int) with reportErrors = 0. If dont_loop is 1, this call just process one RMI message and exits.
|
virtual |
Setting this flag to 1 will cause the ProcessRMIs loop to return.
This also causes vtkUpStreamPorts to return from their WaitForUpdate loops.
|
virtual |
Setting this flag to 1 will cause the ProcessRMIs loop to return.
This also causes vtkUpStreamPorts to return from their WaitForUpdate loops.
|
virtual |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites.
|
virtual |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites.
|
virtual |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites.
|
virtual |
Setting this flag to 1 will cause the TriggerRMIOnAllChildren to use a collective broadcast operation to communicate the RMI tag to the satellites.
|
virtual |
Returns the communicator associated with this controller.
A default communicator is created in constructor.
|
inlinestatic |
Accessor to some default tags.
Definition at line 354 of file vtkMultiProcessController.h.
|
inlinestatic |
Definition at line 355 of file vtkMultiProcessController.h.
|
inlinestatic |
Definition at line 356 of file vtkMultiProcessController.h.
|
inline |
This method can be used to synchronize processes.
Definition at line 1892 of file vtkMultiProcessController.h.
|
static |
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1499 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1512 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1525 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1538 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1551 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1564 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1577 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1590 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1603 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1616 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1629 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1642 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1655 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1475 of file vtkMultiProcessController.h.
|
inline |
This method sends data to another process.
Tag eliminates ambiguity when multiple sends or receives exist in the same process. It is recommended to use custom tag number over 100. vtkMultiProcessController has reserved tags between 1 and 4. vtkCommunicator has reserved tags between 10 and 16.
Definition at line 1487 of file vtkMultiProcessController.h.
|
inline |
Send a stream to another process.
vtkMultiProcessStream makes it possible to send data with arbitrary length and different base types to the other process(es). Instead of making several Send() requests for each type of arguments, it's generally more efficient to push the arguments into the stream and the send the stream over.
Definition at line 1668 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1714 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1727 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1740 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1753 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1766 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1779 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1792 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1805 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1818 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1831 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1844 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1857 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1870 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1678 of file vtkMultiProcessController.h.
|
inline |
This method receives data from a corresponding send.
It blocks until the receive is finished. It calls methods in "data" to communicate the sending data. In the overrloads that take in a maxlength
argument, this length is the maximum length of the message to receive. If the maxlength is less than the length of the message sent by the sender, an error will be flagged. Once a message is received, use the GetCount() method to determine the actual size of the data received.
Definition at line 1702 of file vtkMultiProcessController.h.
|
inline |
Receive a stream from the other processes.
Definition at line 1883 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1690 of file vtkMultiProcessController.h.
|
inline |
Returns the number of words received by the most recent Receive().
Note that this is not the number of bytes received, but the number of items of the data-type received by the most recent Receive() eg. if Receive(int*,..) was used, then this returns the number of ints received; if Receive(double*,..) was used, then this returns the number of doubles received etc. The return value is valid only after a successful Receive().
Definition at line 1900 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 474 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 478 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 482 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 486 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 490 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 494 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 498 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 502 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 506 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 510 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 514 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 518 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 522 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 526 of file vtkMultiProcessController.h.
|
inline |
Broadcast sends the array in the process with id srcProcessId
to all of the other processes.
All processes must call these method with the same arguments in order for it to complete.
Definition at line 530 of file vtkMultiProcessController.h.
|
inline |
Definition at line 536 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 551 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 555 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 560 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 564 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 569 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 573 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 578 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 583 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 587 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 592 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 596 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 600 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 605 of file vtkMultiProcessController.h.
|
inline |
Gather collects arrays in the process with id destProcessId
.
Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The length
argument (which must be the same on all processes) is the length of the sendBuffers. The recvBuffer
(on the destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.
Definition at line 610 of file vtkMultiProcessController.h.
|
inline |
Gathers vtkDataObject (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - data object to send from local process. Can be null if not sending any data from the current process. |
[out] | recvBuffer | - vector of data objects to receive data on the receiving rank (identified by destProcessId ). |
[in] | destProcessId | - process id to gather on. |
Definition at line 625 of file vtkMultiProcessController.h.
|
inline |
Gathers vtkMultiProcessStream (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - vtkMultiProcessStream to send from local process. |
[out] | recvBuffer | - vector of vtkMultiProcessStream instances recevied on the receiving rank (identified by destProcessId ). |
[in] | destProcessId | - process id to gather on. |
Definition at line 640 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 658 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 664 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 670 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 676 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 682 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 688 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 694 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 700 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 706 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 712 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 718 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 724 of file vtkMultiProcessController.h.
|
inline |
GatherV is the vector variant of Gather.
It extends the functionality of Gather by allowing a varying count of data from each process. GatherV collects arrays in the process with id destProcessId
. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The sendLength
argument defines how much the local process sends to destProcessId
and recvLengths
is an array containing the amount destProcessId
receives from each process, in rank order.
Definition at line 730 of file vtkMultiProcessController.h.
|
inline |
Definition at line 738 of file vtkMultiProcessController.h.
|
inline |
Definition at line 743 of file vtkMultiProcessController.h.
|
inline |
This special form of GatherV will automatically determine recvLengths
and offsets
to tightly pack the data in the recvBuffer
in process order.
It will also resize recvBuffer
in order to accommodate the incoming data (unlike the other GatherV variants).
Definition at line 756 of file vtkMultiProcessController.h.
|
inline |
This special form of GatherV will automatically determine recvLengths
and offsets
to tightly pack the data in the recvBuffer
in process order.
It will also resize recvBuffer
in order to accommodate the incoming data (unlike the other GatherV variants).
Definition at line 760 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 774 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 778 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 783 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 787 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 792 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 796 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 801 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 806 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 810 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 815 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 819 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 823 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 828 of file vtkMultiProcessController.h.
|
inline |
Scatter takes an array in the process with id srcProcessId
and distributes it.
Each process (including the source) receives a portion of the send buffer. Process 0 receives the first length
values, process 1 receives the second length
values, and so on. Scatter is the inverse operation of Gather.
Definition at line 833 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 847 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 853 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 859 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 865 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 871 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 877 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 883 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 889 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 895 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 901 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 907 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 913 of file vtkMultiProcessController.h.
|
inline |
ScatterV is the vector variant of Scatter.
It extends the functionality of Scatter by allowing a varying count of data to each process. ScatterV takes an array in the process with id srcProcessId
and distributes it. Each process (including the source) receives a portion of the send buffer defined by the sendLengths
and offsets
arrays.
Definition at line 919 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 931 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 935 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 939 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 943 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 947 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 951 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 955 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 959 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 963 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 967 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 971 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 975 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 979 of file vtkMultiProcessController.h.
|
inline |
Same as gather except that the result ends up on all processes.
Definition at line 984 of file vtkMultiProcessController.h.
|
inline |
Gathers vtkDataObject (sendBuffer
) from all ranks to all raks.
[in] | sendBuffer | - data object to send from local process. Can be null if not sending any data from the current process. |
[out] | recvBuffer | - vector of data objects to receive data. |
Definition at line 997 of file vtkMultiProcessController.h.
|
inline |
Gathers vtkMultiProcessStream (sendBuffer
) from all ranks to the destProcessId
.
[in] | sendBuffer | - vtkMultiProcessStream to send from local process. |
[out] | recvBuffer | - vector of vtkMultiProcessStream instances * received. |
Definition at line 1009 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1019 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1024 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1029 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1034 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1039 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1044 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1049 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1054 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1059 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1064 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1069 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1074 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1079 of file vtkMultiProcessController.h.
|
inline |
Same as GatherV except that the result is placed in all processes.
Definition at line 1084 of file vtkMultiProcessController.h.
|
inline |
This special form of AllGatherV will automatically determine recvLengths
and offsets
to tightly pack the data in the recvBuffer
in process order.
It will also resize recvBuffer
in order to accommodate the incoming data (unlike the other GatherV variants).
Definition at line 1097 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1108 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1113 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1118 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1123 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1128 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1133 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1138 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1143 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1148 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1153 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1158 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1163 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1168 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.
Definition at line 1173 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1184 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1189 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1194 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1199 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1204 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1209 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1214 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1219 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1224 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1229 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1234 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1239 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1244 of file vtkMultiProcessController.h.
|
inline |
Reduce an array to the given destination process.
This version of Reduce takes a custom operation as a subclass of vtkCommunicator::Operation.
Definition at line 1249 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1260 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1264 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1269 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1273 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1278 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1282 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1287 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1292 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1296 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1301 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1305 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1309 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1313 of file vtkMultiProcessController.h.
|
inline |
Same as Reduce except that the result is placed in all of the processes.
Definition at line 1318 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1324 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1329 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1334 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1339 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1344 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1349 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1354 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1359 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1364 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1369 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1374 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1379 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1384 of file vtkMultiProcessController.h.
|
inline |
Definition at line 1389 of file vtkMultiProcessController.h.
int vtkMultiProcessController::Reduce | ( | const vtkBoundingBox & | sendBuffer, |
vtkBoundingBox & | recvBuffer, | ||
int | destProcessId | ||
) |
Convenience methods to reduce bounds.
int vtkMultiProcessController::AllReduce | ( | const vtkBoundingBox & | sendBuffer, |
vtkBoundingBox & | recvBuffer | ||
) |
Convenience methods to reduce bounds.
int vtkMultiProcessController::Reduce | ( | vtkDataArraySelection * | sendBuffer, |
vtkDataArraySelection * | recvBuffer, | ||
int | destProcessId | ||
) |
Convenience methods to reduce vtkDataArraySelection.
int vtkMultiProcessController::AllReduce | ( | vtkDataArraySelection * | sendBuffer, |
vtkDataArraySelection * | recvBuffer | ||
) |
Convenience methods to reduce vtkDataArraySelection.
|
protectedvirtual |
Implementation for TriggerRMI() provides subclasses an opportunity to modify the behaviour eg.
MPIController provides ability to use SSend instead of Send.
Reimplemented in vtkMPIController.
|
protected |
|
protected |
|
protectedvirtual |
|
protected |
Definition at line 1426 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1427 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1433 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1442 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1447 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1449 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1454 of file vtkMultiProcessController.h.
|
protected |
Definition at line 1463 of file vtkMultiProcessController.h.