40 #ifndef __vtkMultiProcessController_h
41 #define __vtkMultiProcessController_h
64 void *remoteArg,
int remoteArgLength,
78 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv))=0;
84 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv),
85 int initializedExternally)=0;
90 virtual void Finalize()=0;
95 virtual void Finalize(
int finalizedExternally)=0;
101 void SetNumberOfProcesses(
int num);
102 int GetNumberOfProcesses();
122 virtual void SingleMethodExecute() = 0;
137 virtual void MultipleMethodExecute() = 0;
140 int GetLocalProcessId();
150 virtual void CreateOutputWindow() = 0;
196 int RemoveFirstRMI(
int tag);
200 int RemoveRMI(
unsigned long id);
205 {f = f; arg = arg; tag = tag; vtkErrorMacro(
"RemoveRMI Not Implemented Yet");};
217 void RemoveAllRMICallbacks(
int tag);
220 bool RemoveRMICallback(
unsigned long id);
225 void TriggerRMI(
int remoteProcessId,
void *arg,
int argLength,
int tag);
229 void TriggerBreakRMIs();
233 void TriggerRMI(
int remoteProcessId,
const char *arg,
int tag)
234 { this->TriggerRMI(remoteProcessId, (
void*)arg,
235 static_cast<int>(strlen(arg))+1, tag); }
241 { this->TriggerRMI(remoteProcessId, NULL, 0, tag); }
251 void TriggerRMIOnAllChildren(
void *arg,
int argLength,
int tag);
254 this->TriggerRMIOnAllChildren(
255 (
void*)arg, static_cast<int>(strlen(arg))+1, tag);
259 this->TriggerRMIOnAllChildren(NULL, 0, tag);
271 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
279 vtkSetMacro(BreakFlag,
int);
280 vtkGetMacro(BreakFlag,
int);
316 XML_WRITER_DATA_INFO = 4
342 #ifdef VTK_USE_64BIT_IDS
369 int Receive(
int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
370 int Receive(
unsigned int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
371 int Receive(
unsigned long*
data,
vtkIdType maxlength,
int remoteProcessId,
373 int Receive(
char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
374 int Receive(
unsigned char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
375 int Receive(
float*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
376 int Receive(
double*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
377 #ifdef VTK_USE_64BIT_IDS
407 return this->Communicator->Broadcast(data, length, srcProcessId);
410 return this->Communicator->Broadcast(data, length, srcProcessId);
413 return this->Communicator->Broadcast(data, length, srcProcessId);
416 return this->Communicator->Broadcast(data, length, srcProcessId);
419 return this->Communicator->Broadcast(data, length, srcProcessId);
422 return this->Communicator->Broadcast(data, length, srcProcessId);
425 return this->Communicator->Broadcast(data, length, srcProcessId);
427 #ifdef VTK_USE_64BIT_IDS
429 return this->Communicator->Broadcast(data, length, srcProcessId);
433 return this->Communicator->Broadcast(data, srcProcessId);
436 return this->Communicator->Broadcast(data, srcProcessId);
440 return this->Communicator->Broadcast(stream, srcProcessId);
454 int Gather(
const int *sendBuffer,
int *recvBuffer,
456 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
459 int Gather(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
461 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
464 int Gather(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
466 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
469 int Gather(
const char *sendBuffer,
char *recvBuffer,
471 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
474 int Gather(
const float *sendBuffer,
float *recvBuffer,
476 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
479 int Gather(
const double *sendBuffer,
double *recvBuffer,
481 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
484 #ifdef VTK_USE_64BIT_IDS
487 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
493 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
508 int GatherV(
const int* sendBuffer,
int* recvBuffer,
511 return this->Communicator->GatherV(sendBuffer, recvBuffer,
512 sendLength, recvLengths,
513 offsets, destProcessId);
515 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
518 return this->Communicator->GatherV(sendBuffer, recvBuffer,
519 sendLength, recvLengths,
520 offsets, destProcessId);
522 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
525 return this->Communicator->GatherV(sendBuffer, recvBuffer,
526 sendLength, recvLengths,
527 offsets, destProcessId);
529 int GatherV(
const char* sendBuffer,
char* recvBuffer,
532 return this->Communicator->GatherV(sendBuffer, recvBuffer,
533 sendLength, recvLengths,
534 offsets, destProcessId);
536 int GatherV(
const float* sendBuffer,
float* recvBuffer,
539 return this->Communicator->GatherV(sendBuffer, recvBuffer,
540 sendLength, recvLengths,
541 offsets, destProcessId);
543 int GatherV(
const double* sendBuffer,
double* recvBuffer,
546 return this->Communicator->GatherV(sendBuffer, recvBuffer,
547 sendLength, recvLengths,
548 offsets, destProcessId);
550 #ifdef VTK_USE_64BIT_IDS
554 return this->Communicator->GatherV(sendBuffer, recvBuffer,
555 sendLength, recvLengths,
556 offsets, destProcessId);
561 return this->Communicator->GatherV(sendBuffer, recvBuffer,
562 recvLengths, offsets,
575 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
585 int Scatter(
const int *sendBuffer,
int *recvBuffer,
587 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
590 int Scatter(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
592 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
595 int Scatter(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
597 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
600 int Scatter(
const char *sendBuffer,
char *recvBuffer,
602 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
605 int Scatter(
const float *sendBuffer,
float *recvBuffer,
607 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
610 int Scatter(
const double *sendBuffer,
double *recvBuffer,
612 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
615 #ifdef VTK_USE_64BIT_IDS
618 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
624 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
635 int ScatterV(
const int *sendBuffer,
int *recvBuffer,
637 vtkIdType recvLength,
int srcProcessId) {
638 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
639 sendLengths, offsets, recvLength,
642 int ScatterV(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
644 vtkIdType recvLength,
int srcProcessId) {
645 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
646 sendLengths, offsets, recvLength,
649 int ScatterV(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
651 vtkIdType recvLength,
int srcProcessId) {
652 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
653 sendLengths, offsets, recvLength,
656 int ScatterV(
const char *sendBuffer,
char *recvBuffer,
658 vtkIdType recvLength,
int srcProcessId) {
659 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
660 sendLengths, offsets, recvLength,
663 int ScatterV(
const float *sendBuffer,
float *recvBuffer,
665 vtkIdType recvLength,
int srcProcessId) {
666 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
667 sendLengths, offsets, recvLength,
670 int ScatterV(
const double *sendBuffer,
double *recvBuffer,
672 vtkIdType recvLength,
int srcProcessId) {
673 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
674 sendLengths, offsets, recvLength,
677 #ifdef VTK_USE_64BIT_IDS
680 vtkIdType recvLength,
int srcProcessId) {
681 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
682 sendLengths, offsets, recvLength,
691 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
694 unsigned long *recvBuffer,
vtkIdType length) {
695 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
698 unsigned char *recvBuffer,
vtkIdType length) {
699 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
702 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
705 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
709 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
711 #ifdef VTK_USE_64BIT_IDS
714 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
718 return this->Communicator->AllGather(sendBuffer, recvBuffer);
727 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
728 sendLength, recvLengths,
731 int AllGatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
734 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
735 sendLength, recvLengths,
738 int AllGatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
741 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
742 sendLength, recvLengths,
748 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
749 sendLength, recvLengths,
755 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
756 sendLength, recvLengths,
762 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
763 sendLength, recvLengths,
766 #ifdef VTK_USE_64BIT_IDS
770 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
771 sendLength, recvLengths,
777 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
778 recvLengths, offsets);
789 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
797 int Reduce(
const int *sendBuffer,
int *recvBuffer,
798 vtkIdType length,
int operation,
int destProcessId) {
799 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
800 operation, destProcessId);
802 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
803 vtkIdType length,
int operation,
int destProcessId) {
804 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
805 operation, destProcessId);
807 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
808 vtkIdType length,
int operation,
int destProcessId) {
809 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
810 operation, destProcessId);
812 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
813 vtkIdType length,
int operation,
int destProcessId) {
814 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
815 operation, destProcessId);
817 int Reduce(
const char *sendBuffer,
char *recvBuffer,
818 vtkIdType length,
int operation,
int destProcessId) {
819 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
820 operation, destProcessId);
822 int Reduce(
const float *sendBuffer,
float *recvBuffer,
823 vtkIdType length,
int operation,
int destProcessId) {
824 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
825 operation, destProcessId);
827 int Reduce(
const double *sendBuffer,
double *recvBuffer,
828 vtkIdType length,
int operation,
int destProcessId) {
829 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
830 operation, destProcessId);
832 #ifdef VTK_USE_64BIT_IDS
834 vtkIdType length,
int operation,
int destProcessId) {
835 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
836 operation, destProcessId);
840 int operation,
int destProcessId) {
841 return this->Communicator->Reduce(sendBuffer, recvBuffer,
842 operation, destProcessId);
851 int Reduce(
const int *sendBuffer,
int *recvBuffer,
854 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
855 operation, destProcessId);
857 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
860 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
861 operation, destProcessId);
863 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
866 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
867 operation, destProcessId);
869 int Reduce(
const char *sendBuffer,
char *recvBuffer,
872 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
873 operation, destProcessId);
875 int Reduce(
const float *sendBuffer,
float *recvBuffer,
878 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
879 operation, destProcessId);
881 int Reduce(
const double *sendBuffer,
double *recvBuffer,
884 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
885 operation, destProcessId);
887 #ifdef VTK_USE_64BIT_IDS
891 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
892 operation, destProcessId);
897 return this->Communicator->Reduce(sendBuffer, recvBuffer,
898 operation, destProcessId);
908 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
911 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
913 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
916 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
918 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
923 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
926 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
928 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
931 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
933 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
936 #ifdef VTK_USE_64BIT_IDS
939 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
945 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
950 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
953 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
955 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
958 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
960 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
965 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
968 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
970 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
973 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
975 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
978 #ifdef VTK_USE_64BIT_IDS
981 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
987 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1002 virtual void TriggerRMIInternal(
int remoteProcessId,
1003 void* arg,
int argLength,
int rmiTag,
bool propagate);
1015 void ProcessRMI(
int remoteProcessId,
void *arg,
int argLength,
int rmiTag);
1045 unsigned long RMICount;
1049 vtkInternal *Internal;
1055 int remoteProcessId,
int tag)
1068 int remoteProcessId,
int tag)
1081 int remoteProcessId,
int tag)
1094 int remoteProcessId,
int tag)
1108 int remoteProcessId,
1122 int remoteProcessId,
int tag)
1136 int remoteProcessId,
int tag)
1149 int remoteProcessId,
int tag)
1162 int remoteProcessId,
int tag)
1174 #ifdef VTK_USE_64BIT_IDS
1177 int remoteProcessId,
int tag)
1191 int remoteId,
int tag)
1201 int remoteProcessId,
int tag)
1214 int remoteProcessId,
int tag)
1227 int remoteProcessId,
int tag)
1240 int remoteProcessId,
int tag)
1253 int remoteProcessId,
int tag)
1267 int remoteProcessId,
1281 int remoteProcessId,
int tag)
1295 int remoteProcessId,
int tag)
1308 int remoteProcessId,
int tag)
1321 int remoteProcessId,
int tag)
1333 #ifdef VTK_USE_64BIT_IDS
1336 int remoteProcessId,
int tag)
1351 int remoteId,
int tag)
int AllGather(const float *sendBuffer, float *recvBuffer, vtkIdType length)
int Scatter(const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId)
vtkCommunicator * Communicator
void TriggerRMI(int remoteProcessId, int tag)
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Send(vtkDataObject *data, int remoteHandle, int tag)
int Scatter(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId)
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
static int GetRMIArgTag()
abstract base class for most VTK objects
int Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Scatter(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId)
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation)
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId)
int GatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
stream used to pass data across processes using vtkMultiProcessController.
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
void TriggerRMIOnAllChildren(const char *arg, int tag)
int ScatterV(const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
abstract class to specify dataset behavior
void TriggerRMIOnAllChildren(int tag)
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
void RemoveRMI(vtkRMIFunctionType f, void *arg, int tag)
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation)
a process that can be launched by a vtkMultiProcessController
int GatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation)
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllGatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Broadcast(int *data, vtkIdType length, int srcProcessId)
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation)
vtkOutputWindow * OutputWindow
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation)
int AllGather(const double *sendBuffer, double *recvBuffer, vtkIdType length)
int AllGather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length)
int ScatterV(const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
static int GetBreakRMITag()
int Receive(vtkDataObject *data, int remoteHandle, int tag)
int Broadcast(vtkMultiProcessStream &stream, int srcProcessId)
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int ScatterV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int AllGather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length)
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllGatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Broadcast(char *data, vtkIdType length, int srcProcessId)
vtkDataObject * ReceiveDataObject(int remoteHandle, int tag)
int Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
int Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
void TriggerRMI(int remoteProcessId, const char *arg, int tag)
virtual void PrintSelf(ostream &os, vtkIndent indent)
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Broadcast(float *data, vtkIdType length, int srcProcessId)
a simple class to control print indentation
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation)
topologically and geometrically regular array of data
virtual vtkIdType GetCount()
abstract superclass for arrays of numeric data
A subgroup of processes from a communicator.
int Broadcast(vtkDataObject *data, int srcProcessId)
vtkDataObject * ReceiveDataObject(int remoteId, int tag)
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
int AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
int Broadcast(unsigned int *data, vtkIdType length, int srcProcessId)
base class for writing debug output to a console
int AllGatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkProcessFunctionType SingleMethod
int Broadcast(unsigned char *data, vtkIdType length, int srcProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation, int destProcessId)
int GatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation)
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int GatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int ScatterV(const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int ScatterV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Send(const int *data, vtkIdType length, int remoteProcessId, int tag)
create and manipulate unsorted lists of objects
int Scatter(const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId)
int Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkCommunicator * RMICommunicator
int Broadcast(vtkDataArray *data, int srcProcessId)
int Receive(int *data, vtkIdType maxlength, int remoteProcessId, int tag)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Broadcast(double *data, vtkIdType length, int srcProcessId)
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
int Broadcast(unsigned long *data, vtkIdType length, int srcProcessId)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
int AllGatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Scatter(const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId)
Used to send/receive messages in a multiprocess environment.
general representation of visualization data
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
int GatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
int ScatterV(const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
Multiprocessing communication superclass.