49 #ifndef vtkMultiProcessController_h 50 #define vtkMultiProcessController_h 53 #include "vtkParallelCoreModule.h" 73 void* localArg,
void* remoteArg,
int remoteArgLength,
int remoteProcessId);
86 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv)) = 0;
93 virtual void Initialize(
94 int* vtkNotUsed(argc),
char*** vtkNotUsed(argv),
int initializedExternally) = 0;
101 virtual void Finalize() = 0;
108 virtual void Finalize(
int finalizedExternally) = 0;
116 void SetNumberOfProcesses(
int num);
117 int GetNumberOfProcesses();
140 virtual void SingleMethodExecute() = 0;
155 virtual void MultipleMethodExecute() = 0;
160 int GetLocalProcessId();
175 virtual void CreateOutputWindow() = 0;
221 virtual int RemoveFirstRMI(
int tag);
227 virtual int RemoveRMI(
unsigned long id);
237 vtkErrorMacro(
"RemoveRMI Not Implemented Yet");
252 virtual void RemoveAllRMICallbacks(
int tag);
257 virtual bool RemoveRMICallback(
unsigned long id);
262 void TriggerRMI(
int remoteProcessId,
void* arg,
int argLength,
int tag);
268 void TriggerBreakRMIs();
273 void TriggerRMI(
int remoteProcessId,
const char* arg,
int tag)
275 this->TriggerRMI(remoteProcessId, (
void*)arg, static_cast<int>(strlen(arg)) + 1, tag);
283 this->TriggerRMI(remoteProcessId,
nullptr, 0, tag);
295 void TriggerRMIOnAllChildren(
void* arg,
int argLength,
int tag);
298 this->TriggerRMIOnAllChildren((
void*)arg, static_cast<int>(strlen(arg)) + 1, tag);
301 void BroadcastTriggerRMIOnAllChildren(
void* arg,
int argLength,
int tag);
316 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
318 int BroadcastProcessRMIs(
int reportErrors,
int dont_loop = 0);
327 vtkSetMacro(BreakFlag,
int);
328 vtkGetMacro(BreakFlag,
int);
337 vtkSetMacro(BroadcastTriggerRMI,
bool);
338 vtkGetMacro(BroadcastTriggerRMI,
bool);
339 vtkBooleanMacro(BroadcastTriggerRMI,
bool);
375 XML_WRITER_DATA_INFO = 4
431 int Receive(
int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
432 int Receive(
unsigned int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
433 int Receive(
short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
434 int Receive(
unsigned short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
435 int Receive(
long*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
436 int Receive(
unsigned long*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
437 int Receive(
char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
438 int Receive(
unsigned char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
439 int Receive(
signed char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
440 int Receive(
float*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
441 int Receive(
double*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
442 int Receive(
long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
443 int Receive(
unsigned long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
475 return this->Communicator->Broadcast(data, length, srcProcessId);
479 return this->Communicator->Broadcast(data, length, srcProcessId);
483 return this->Communicator->Broadcast(data, length, srcProcessId);
487 return this->Communicator->Broadcast(data, length, srcProcessId);
491 return this->Communicator->Broadcast(data, length, srcProcessId);
495 return this->Communicator->Broadcast(data, length, srcProcessId);
499 return this->Communicator->Broadcast(data, length, srcProcessId);
503 return this->Communicator->Broadcast(data, length, srcProcessId);
507 return this->Communicator->Broadcast(data, length, srcProcessId);
511 return this->Communicator->Broadcast(data, length, srcProcessId);
515 return this->Communicator->Broadcast(data, length, srcProcessId);
519 return this->Communicator->Broadcast(data, length, srcProcessId);
523 return this->Communicator->Broadcast(data, length, srcProcessId);
527 return this->Communicator->Broadcast(data, srcProcessId);
531 return this->Communicator->Broadcast(data, srcProcessId);
537 return this->Communicator->Broadcast(stream, srcProcessId);
552 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
555 const unsigned int* sendBuffer,
unsigned int* recvBuffer,
vtkIdType length,
int destProcessId)
557 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
561 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
566 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
570 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
573 const unsigned long* sendBuffer,
unsigned long* recvBuffer,
vtkIdType length,
int destProcessId)
575 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
578 const unsigned char* sendBuffer,
unsigned char* recvBuffer,
vtkIdType length,
int destProcessId)
580 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
584 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
587 const signed char* sendBuffer,
signed char* recvBuffer,
vtkIdType length,
int destProcessId)
589 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
593 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
597 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
600 const long long* sendBuffer,
long long* recvBuffer,
vtkIdType length,
int destProcessId)
602 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
607 return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
611 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
630 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
643 std::vector<vtkMultiProcessStream>& recvBuffer,
int destProcessId)
645 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
663 return this->Communicator->GatherV(
664 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
666 int GatherV(
const unsigned int* sendBuffer,
unsigned int* recvBuffer,
vtkIdType sendLength,
669 return this->Communicator->GatherV(
670 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
675 return this->Communicator->GatherV(
676 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
678 int GatherV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
vtkIdType sendLength,
681 return this->Communicator->GatherV(
682 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
687 return this->Communicator->GatherV(
688 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
690 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
vtkIdType sendLength,
693 return this->Communicator->GatherV(
694 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
696 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
vtkIdType sendLength,
699 return this->Communicator->GatherV(
700 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
705 return this->Communicator->GatherV(
706 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
711 return this->Communicator->GatherV(
712 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
717 return this->Communicator->GatherV(
718 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
723 return this->Communicator->GatherV(
724 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
729 return this->Communicator->GatherV(
730 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
732 int GatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
735 return this->Communicator->GatherV(
736 sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
743 return this->Communicator->GatherV(sendBuffer, recvBuffer, recvLengths, offsets, destProcessId);
748 return this->Communicator->GatherV(sendBuffer, recvBuffer, recvLengths, offsets, destProcessId);
760 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
764 return this->Communicator->GatherV(sendData, recvData, destProcessId);
778 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
781 const unsigned int* sendBuffer,
unsigned int* recvBuffer,
vtkIdType length,
int srcProcessId)
783 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
787 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
792 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
796 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
799 const unsigned long* sendBuffer,
unsigned long* recvBuffer,
vtkIdType length,
int srcProcessId)
801 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
804 const unsigned char* sendBuffer,
unsigned char* recvBuffer,
vtkIdType length,
int srcProcessId)
806 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
810 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
813 const signed char* sendBuffer,
signed char* recvBuffer,
vtkIdType length,
int srcProcessId)
815 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
819 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
823 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
826 const long long* sendBuffer,
long long* recvBuffer,
vtkIdType length,
int srcProcessId)
828 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
830 int Scatter(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
833 return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
837 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
852 return this->Communicator->ScatterV(
853 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
858 return this->Communicator->ScatterV(
859 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
864 return this->Communicator->ScatterV(
865 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
867 int ScatterV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
vtkIdType* sendLengths,
870 return this->Communicator->ScatterV(
871 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
876 return this->Communicator->ScatterV(
877 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
879 int ScatterV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
vtkIdType* sendLengths,
882 return this->Communicator->ScatterV(
883 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
885 int ScatterV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
vtkIdType* sendLengths,
888 return this->Communicator->ScatterV(
889 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
894 return this->Communicator->ScatterV(
895 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
900 return this->Communicator->ScatterV(
901 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
906 return this->Communicator->ScatterV(
907 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
912 return this->Communicator->ScatterV(
913 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
918 return this->Communicator->ScatterV(
919 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
921 int ScatterV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
924 return this->Communicator->ScatterV(
925 sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
935 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
939 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
943 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
947 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
951 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
955 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
959 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
963 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
967 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
971 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
975 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
979 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
982 const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
vtkIdType length)
984 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
988 return this->Communicator->AllGather(sendBuffer, recvBuffer);
999 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1004 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1009 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1014 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1019 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1024 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1029 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1034 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1039 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1044 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1049 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1054 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1056 int AllGatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
1059 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
1064 return this->Communicator->AllGatherV(sendBuffer, recvBuffer, recvLengths, offsets);
1076 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
1086 const int* sendBuffer,
int* recvBuffer,
vtkIdType length,
int operation,
int destProcessId)
1088 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1091 int operation,
int destProcessId)
1093 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1096 const short* sendBuffer,
short* recvBuffer,
vtkIdType length,
int operation,
int destProcessId)
1098 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1101 int operation,
int destProcessId)
1103 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1106 const long* sendBuffer,
long* recvBuffer,
vtkIdType length,
int operation,
int destProcessId)
1108 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1111 int operation,
int destProcessId)
1113 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1116 int operation,
int destProcessId)
1118 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1121 const char* sendBuffer,
char* recvBuffer,
vtkIdType length,
int operation,
int destProcessId)
1123 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1126 int operation,
int destProcessId)
1128 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1131 const float* sendBuffer,
float* recvBuffer,
vtkIdType length,
int operation,
int destProcessId)
1133 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1138 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1143 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1146 int operation,
int destProcessId)
1148 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1152 return this->Communicator->Reduce(sendBuffer, recvBuffer, operation, destProcessId);
1164 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1169 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1174 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1179 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1184 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1189 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1194 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1199 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1204 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1209 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1214 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1219 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1224 return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
1229 return this->Communicator->Reduce(sendBuffer, recvBuffer, operation, destProcessId);
1239 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1242 const unsigned int* sendBuffer,
unsigned int* recvBuffer,
vtkIdType length,
int operation)
1244 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1248 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1251 const unsigned short* sendBuffer,
unsigned short* recvBuffer,
vtkIdType length,
int operation)
1253 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1257 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1260 const unsigned long* sendBuffer,
unsigned long* recvBuffer,
vtkIdType length,
int operation)
1262 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1265 const unsigned char* sendBuffer,
unsigned char* recvBuffer,
vtkIdType length,
int operation)
1267 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1271 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1274 const signed char* sendBuffer,
signed char* recvBuffer,
vtkIdType length,
int operation)
1276 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1280 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1284 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1288 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1290 int AllReduce(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
1293 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1297 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1304 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1309 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1314 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1319 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1324 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1329 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1334 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1339 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1344 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1349 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1354 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1359 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1361 int AllReduce(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
1364 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
1369 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1391 virtual void TriggerRMIInternal(
1392 int remoteProcessId,
void* arg,
int argLength,
int rmiTag,
bool propagate);
1403 void ProcessRMI(
int remoteProcessId,
void* arg,
int argLength,
int rmiTag);
1437 unsigned long RMICount;
1440 vtkInternal* Internal;
1445 if (this->Communicator)
1447 return this->Communicator->Send(data, remoteProcessId, tag);
1457 if (this->Communicator)
1459 return this->Communicator->Send(data, remoteProcessId, tag);
1470 if (this->Communicator)
1472 return this->Communicator->Send(data, length, remoteProcessId, tag);
1483 if (this->Communicator)
1485 return this->Communicator->Send(data, length, remoteProcessId, tag);
1496 if (this->Communicator)
1498 return this->Communicator->Send(data, length, remoteProcessId, tag);
1509 if (this->Communicator)
1511 return this->Communicator->Send(data, length, remoteProcessId, tag);
1522 if (this->Communicator)
1524 return this->Communicator->Send(data, length, remoteProcessId, tag);
1535 if (this->Communicator)
1537 return this->Communicator->Send(data, length, remoteProcessId, tag);
1548 if (this->Communicator)
1550 return this->Communicator->Send(data, length, remoteProcessId, tag);
1561 if (this->Communicator)
1563 return this->Communicator->Send(data, length, remoteProcessId, tag);
1574 if (this->Communicator)
1576 return this->Communicator->Send(data, length, remoteProcessId, tag);
1587 if (this->Communicator)
1589 return this->Communicator->Send(data, length, remoteProcessId, tag);
1600 if (this->Communicator)
1602 return this->Communicator->Send(data, length, remoteProcessId, tag);
1613 if (this->Communicator)
1615 return this->Communicator->Send(data, length, remoteProcessId, tag);
1626 if (this->Communicator)
1628 return this->Communicator->Send(data, length, remoteProcessId, tag);
1639 if (this->Communicator)
1641 return this->Communicator->Send(stream, remoteId, tag);
1648 if (this->Communicator)
1650 return this->Communicator->Receive(data, remoteProcessId, tag);
1660 if (this->Communicator)
1662 return this->Communicator->ReceiveDataObject(remoteProcessId, tag);
1672 if (this->Communicator)
1674 return this->Communicator->Receive(data, remoteProcessId, tag);
1685 if (this->Communicator)
1687 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1698 if (this->Communicator)
1700 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1711 if (this->Communicator)
1713 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1724 if (this->Communicator)
1726 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1737 if (this->Communicator)
1739 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1750 if (this->Communicator)
1752 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1763 if (this->Communicator)
1765 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1776 if (this->Communicator)
1778 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1789 if (this->Communicator)
1791 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1802 if (this->Communicator)
1804 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1815 if (this->Communicator)
1817 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1828 if (this->Communicator)
1830 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1841 if (this->Communicator)
1843 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1853 if (this->Communicator)
1855 return this->Communicator->Receive(stream, remoteId, tag);
1862 if (this->Communicator)
1864 this->Communicator->Barrier();
1870 if (this->Communicator)
1872 return this->Communicator->GetCount();
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(const float *sendBuffer, float *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
int Scatter(const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
vtkCommunicator * Communicator
void TriggerRMI(int remoteProcessId, int tag)
Convenience method when there is no argument.
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
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 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 signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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 AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
A custom operation to use in a reduce command.
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 Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
static int GetRMIArgTag()
int Reduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
abstract base class for most VTK objects
int Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
int AllGather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on 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 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 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 ScatterV(const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
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 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 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.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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 Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
int AllGather(const long *sendBuffer, long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
int GatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
stream used to pass data across processes using vtkMultiProcessController.
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
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...
int ScatterV(const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
abstract class to specify dataset behavior
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.
void TriggerRMIOnAllChildren(int tag)
This is a convenicence method to trigger an RMI call on all the "children" of the current node...
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 GatherV(vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId)
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the...
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
This special form of AllGatherV will automatically determine recvLengths and offsets to tightly pack ...
int Gather(const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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)
GatherV is the vector variant of Gather.
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 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 char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
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 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(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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 AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllGather(const short *sendBuffer, short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation)
Same as Reduce except that the result is placed in all of the processes.
dynamic, self-adjusting array of vtkIdType
vtkOutputWindow * OutputWindow
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 AllGather(const double *sendBuffer, double *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 ScatterV(const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
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 Gather(const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 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 Reduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
int AllReduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
static int GetBreakRMITag()
Accessor to some default tags.
int Broadcast(vtkMultiProcessStream &stream, int srcProcessId)
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 Scatter(const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
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 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 unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
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 Gather(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 Broadcast(char *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes...
int AllReduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
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 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 Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
Gather collects arrays in the process with id destProcessId.
int AllReduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)
int Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
Reduce an array to the given destination process.
void TriggerRMI(int remoteProcessId, const char *arg, int tag)
Convenience method when the arg is a string.
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 Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Broadcast(float *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes...
a simple class to control print indentation
int GatherV(const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
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 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 Gather(vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId)
Gathers vtkDataObject (sendBuffer) from all ranks to the destProcessId.
topologically and geometrically regular array of data
virtual void RemoveRMI(vtkRMIFunctionType f, void *arg, int tag)
Take an RMI away.
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 AllReduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
abstract superclass for arrays of numeric data
A subgroup of processes from a communicator.
int AllReduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
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 Broadcast(vtkDataObject *data, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes...
int Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
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.
vtkDataObject * ReceiveDataObject(int remoteId, int tag)
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
Same as gather except that the result ends up on all processes.
int AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
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 ScatterV(const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
void Barrier()
This method can be used to synchronize 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 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 GatherV(const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
base class for writing debug output to a console
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 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.
vtkProcessFunctionType SingleMethod
int AllReduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Gather(const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer, int destProcessId)
Gathers vtkMultiProcessStream (sendBuffer) from all ranks to the destProcessId.
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 Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId)
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 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 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 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 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 Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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)
GatherV is the vector variant of Gather.
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 unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
int Send(const int *data, vtkIdType length, int remoteProcessId, int tag)
This method sends data to another process.
create and manipulate ordered lists of objects
int AllReduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
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 Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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.
vtkCommunicator * RMICommunicator
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 Broadcast(vtkDataArray *data, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes...
int Receive(int *data, vtkIdType maxlength, int remoteProcessId, int tag)
This method receives data from a corresponding send.
int AllGather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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 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(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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 AllGather(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all 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 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 unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
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 Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
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 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 GatherV(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
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.
vtkIdType GetCount()
Returns the number of words received by the most recent Receive().
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
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 ScatterV(const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
Used to send/receive messages in a multiprocess environment.
general representation of visualization data
int Gather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 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 AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
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 Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 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 unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the...
Fast, simple class for dealing with 3D bounds.
int Gather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
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 ScatterV(const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
Multiprocessing communication superclass.