49 #ifndef vtkMultiProcessController_h
50 #define vtkMultiProcessController_h
52 #include "vtkParallelCoreModule.h"
73 void *remoteArg,
int remoteArgLength,
87 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv))=0;
94 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv),
95 int initializedExternally)=0;
102 virtual void Finalize()=0;
109 virtual void Finalize(
int finalizedExternally)=0;
117 void SetNumberOfProcesses(
int num);
118 int GetNumberOfProcesses();
141 virtual void SingleMethodExecute() = 0;
156 virtual void MultipleMethodExecute() = 0;
161 int GetLocalProcessId();
176 virtual void CreateOutputWindow() = 0;
224 virtual int RemoveFirstRMI(
int tag);
230 virtual int RemoveRMI(
unsigned long id);
236 {(void)f; (void)arg; (void)tag; vtkErrorMacro(
"RemoveRMI Not Implemented Yet");};
250 virtual void RemoveAllRMICallbacks(
int tag);
255 virtual bool RemoveRMICallback(
unsigned long id);
260 void TriggerRMI(
int remoteProcessId,
void *arg,
int argLength,
int tag);
266 void TriggerBreakRMIs();
271 void TriggerRMI(
int remoteProcessId,
const char *arg,
int tag)
272 { this->TriggerRMI(remoteProcessId, (
void*)arg,
273 static_cast<int>(strlen(arg))+1, tag); }
279 { this->TriggerRMI(remoteProcessId, NULL, 0, tag); }
290 void TriggerRMIOnAllChildren(
void *arg,
int argLength,
int tag);
293 this->TriggerRMIOnAllChildren(
294 (
void*)arg, static_cast<int>(strlen(arg))+1, tag);
298 this->TriggerRMIOnAllChildren(NULL, 0, tag);
300 void BroadcastTriggerRMIOnAllChildren(
void* arg,
int argLength,
int tag);
315 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
317 int BroadcastProcessRMIs(
int reportErrors,
int dont_loop=0);
327 vtkGetMacro(BreakFlag,
int);
337 vtkGetMacro(BroadcastTriggerRMI,
bool);
374 XML_WRITER_DATA_INFO = 4
432 int Receive(
int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
433 int Receive(
unsigned int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
434 int Receive(
short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
435 int Receive(
unsigned short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
436 int Receive(
long*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
437 int Receive(
unsigned long*
data,
vtkIdType maxlength,
int remoteProcessId,
439 int Receive(
char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
440 int Receive(
unsigned char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
441 int Receive(
signed char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
442 int Receive(
float*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
443 int Receive(
double*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
444 int Receive(
long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
445 int Receive(
unsigned long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
477 return this->Communicator->Broadcast(data, length, srcProcessId);
480 return this->Communicator->Broadcast(data, length, srcProcessId);
483 return this->Communicator->Broadcast(data, length, srcProcessId);
486 return this->Communicator->Broadcast(data, length, srcProcessId);
489 return this->Communicator->Broadcast(data, length, srcProcessId);
492 return this->Communicator->Broadcast(data, length, srcProcessId);
495 return this->Communicator->Broadcast(data, length, srcProcessId);
498 return this->Communicator->Broadcast(data, length, srcProcessId);
501 return this->Communicator->Broadcast(data, length, srcProcessId);
504 return this->Communicator->Broadcast(data, length, srcProcessId);
507 return this->Communicator->Broadcast(data, length, srcProcessId);
510 return this->Communicator->Broadcast(data, length, srcProcessId);
513 return this->Communicator->Broadcast(data, length, srcProcessId);
516 return this->Communicator->Broadcast(data, srcProcessId);
519 return this->Communicator->Broadcast(data, srcProcessId);
524 return this->Communicator->Broadcast(stream, srcProcessId);
537 int Gather(
const int *sendBuffer,
int *recvBuffer,
539 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
542 int Gather(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
544 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
547 int Gather(
const short *sendBuffer,
short *recvBuffer,
549 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
552 int Gather(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
554 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
557 int Gather(
const long *sendBuffer,
long *recvBuffer,
559 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
562 int Gather(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
564 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
567 int Gather(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
569 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
572 int Gather(
const char *sendBuffer,
char *recvBuffer,
574 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
577 int Gather(
const signed char *sendBuffer,
signed char *recvBuffer,
579 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
582 int Gather(
const float *sendBuffer,
float *recvBuffer,
584 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
587 int Gather(
const double *sendBuffer,
double *recvBuffer,
589 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
592 int Gather(
const long long *sendBuffer,
long long *recvBuffer,
594 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
597 int Gather(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
599 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
604 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
624 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
639 int GatherV(
const int* sendBuffer,
int* recvBuffer,
642 return this->Communicator->GatherV(sendBuffer, recvBuffer,
643 sendLength, recvLengths,
644 offsets, destProcessId);
646 int GatherV(
const unsigned int* sendBuffer,
unsigned int* recvBuffer,
649 return this->Communicator->GatherV(sendBuffer, recvBuffer,
650 sendLength, recvLengths,
651 offsets, destProcessId);
653 int GatherV(
const short* sendBuffer,
short* recvBuffer,
656 return this->Communicator->GatherV(sendBuffer, recvBuffer,
657 sendLength, recvLengths,
658 offsets, destProcessId);
660 int GatherV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
663 return this->Communicator->GatherV(sendBuffer, recvBuffer,
664 sendLength, recvLengths,
665 offsets, destProcessId);
667 int GatherV(
const long* sendBuffer,
long* recvBuffer,
670 return this->Communicator->GatherV(sendBuffer, recvBuffer,
671 sendLength, recvLengths,
672 offsets, destProcessId);
674 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
677 return this->Communicator->GatherV(sendBuffer, recvBuffer,
678 sendLength, recvLengths,
679 offsets, destProcessId);
681 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
684 return this->Communicator->GatherV(sendBuffer, recvBuffer,
685 sendLength, recvLengths,
686 offsets, destProcessId);
688 int GatherV(
const char* sendBuffer,
char* recvBuffer,
691 return this->Communicator->GatherV(sendBuffer, recvBuffer,
692 sendLength, recvLengths,
693 offsets, destProcessId);
695 int GatherV(
const signed char* sendBuffer,
signed char* recvBuffer,
698 return this->Communicator->GatherV(sendBuffer, recvBuffer,
699 sendLength, recvLengths,
700 offsets, destProcessId);
702 int GatherV(
const float* sendBuffer,
float* recvBuffer,
705 return this->Communicator->GatherV(sendBuffer, recvBuffer,
706 sendLength, recvLengths,
707 offsets, destProcessId);
709 int GatherV(
const double* sendBuffer,
double* recvBuffer,
712 return this->Communicator->GatherV(sendBuffer, recvBuffer,
713 sendLength, recvLengths,
714 offsets, destProcessId);
716 int GatherV(
const long long* sendBuffer,
long long* recvBuffer,
719 return this->Communicator->GatherV(sendBuffer, recvBuffer,
720 sendLength, recvLengths,
721 offsets, destProcessId);
723 int GatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
726 return this->Communicator->GatherV(sendBuffer, recvBuffer,
727 sendLength, recvLengths,
728 offsets, destProcessId);
734 return this->Communicator->GatherV(sendBuffer, recvBuffer,
735 recvLengths, offsets,
743 return this->Communicator->GatherV(sendBuffer, recvBuffer,
744 recvLengths, offsets, destProcessId);
757 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
762 return this->Communicator->GatherV(sendData, recvData, destProcessId);
774 int Scatter(
const int *sendBuffer,
int *recvBuffer,
776 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
779 int Scatter(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
781 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
784 int Scatter(
const short *sendBuffer,
short *recvBuffer,
786 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
789 int Scatter(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
791 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
794 int Scatter(
const long *sendBuffer,
long *recvBuffer,
796 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
799 int Scatter(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
801 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
804 int Scatter(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
806 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
809 int Scatter(
const char *sendBuffer,
char *recvBuffer,
811 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
814 int Scatter(
const signed char *sendBuffer,
signed char *recvBuffer,
816 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
819 int Scatter(
const float *sendBuffer,
float *recvBuffer,
821 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
824 int Scatter(
const double *sendBuffer,
double *recvBuffer,
826 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
829 int Scatter(
const long long *sendBuffer,
long long *recvBuffer,
831 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
834 int Scatter(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
836 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
841 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
853 int ScatterV(
const int *sendBuffer,
int *recvBuffer,
855 vtkIdType recvLength,
int srcProcessId) {
856 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
857 sendLengths, offsets, recvLength,
860 int ScatterV(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
862 vtkIdType recvLength,
int srcProcessId) {
863 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
864 sendLengths, offsets, recvLength,
867 int ScatterV(
const short *sendBuffer,
short *recvBuffer,
869 vtkIdType recvLength,
int srcProcessId) {
870 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
871 sendLengths, offsets, recvLength,
874 int ScatterV(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
876 vtkIdType recvLength,
int srcProcessId) {
877 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
878 sendLengths, offsets, recvLength,
881 int ScatterV(
const long *sendBuffer,
long *recvBuffer,
883 vtkIdType recvLength,
int srcProcessId) {
884 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
885 sendLengths, offsets, recvLength,
888 int ScatterV(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
890 vtkIdType recvLength,
int srcProcessId) {
891 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
892 sendLengths, offsets, recvLength,
895 int ScatterV(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
897 vtkIdType recvLength,
int srcProcessId) {
898 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
899 sendLengths, offsets, recvLength,
902 int ScatterV(
const char *sendBuffer,
char *recvBuffer,
904 vtkIdType recvLength,
int srcProcessId) {
905 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
906 sendLengths, offsets, recvLength,
909 int ScatterV(
const signed char *sendBuffer,
signed char *recvBuffer,
911 vtkIdType recvLength,
int srcProcessId) {
912 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
913 sendLengths, offsets, recvLength,
916 int ScatterV(
const float *sendBuffer,
float *recvBuffer,
918 vtkIdType recvLength,
int srcProcessId) {
919 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
920 sendLengths, offsets, recvLength,
923 int ScatterV(
const double *sendBuffer,
double *recvBuffer,
925 vtkIdType recvLength,
int srcProcessId) {
926 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
927 sendLengths, offsets, recvLength,
930 int ScatterV(
const long long *sendBuffer,
long long *recvBuffer,
932 vtkIdType recvLength,
int srcProcessId) {
933 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
934 sendLengths, offsets, recvLength,
937 int ScatterV(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
939 vtkIdType recvLength,
int srcProcessId) {
940 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
941 sendLengths, offsets, recvLength,
951 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
954 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
957 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
960 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);
974 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
977 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
980 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
984 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
987 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
990 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
993 return this->Communicator->AllGather(sendBuffer, recvBuffer);
1004 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1005 sendLength, recvLengths,
1008 int AllGatherV(
const unsigned int* sendBuffer,
unsigned int* recvBuffer,
1011 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1012 sendLength, recvLengths,
1018 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1019 sendLength, recvLengths,
1022 int AllGatherV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
1025 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1026 sendLength, recvLengths,
1032 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1033 sendLength, recvLengths,
1036 int AllGatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
1039 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1040 sendLength, recvLengths,
1043 int AllGatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
1046 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1047 sendLength, recvLengths,
1053 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1054 sendLength, recvLengths,
1057 int AllGatherV(
const signed char* sendBuffer,
signed char* recvBuffer,
1060 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1061 sendLength, recvLengths,
1067 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1068 sendLength, recvLengths,
1074 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1075 sendLength, recvLengths,
1078 int AllGatherV(
const long long* sendBuffer,
long long* recvBuffer,
1081 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1082 sendLength, recvLengths,
1085 int AllGatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
1088 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1089 sendLength, recvLengths,
1094 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1095 recvLengths, offsets);
1106 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
1115 int Reduce(
const int *sendBuffer,
int *recvBuffer,
1117 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1118 operation, destProcessId);
1120 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1122 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1123 operation, destProcessId);
1125 int Reduce(
const short *sendBuffer,
short *recvBuffer,
1127 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1128 operation, destProcessId);
1130 int Reduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1132 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1133 operation, destProcessId);
1135 int Reduce(
const long *sendBuffer,
long *recvBuffer,
1137 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1138 operation, destProcessId);
1140 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1142 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1143 operation, destProcessId);
1145 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1147 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1148 operation, destProcessId);
1150 int Reduce(
const char *sendBuffer,
char *recvBuffer,
1152 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1153 operation, destProcessId);
1155 int Reduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1157 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1158 operation, destProcessId);
1160 int Reduce(
const float *sendBuffer,
float *recvBuffer,
1162 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1163 operation, destProcessId);
1165 int Reduce(
const double *sendBuffer,
double *recvBuffer,
1167 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1168 operation, destProcessId);
1170 int Reduce(
const long long *sendBuffer,
long long *recvBuffer,
1172 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1173 operation, destProcessId);
1175 int Reduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1177 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1178 operation, destProcessId);
1181 int operation,
int destProcessId) {
1182 return this->Communicator->Reduce(sendBuffer, recvBuffer,
1183 operation, destProcessId);
1192 int Reduce(
const int *sendBuffer,
int *recvBuffer,
1194 int destProcessId) {
1195 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1196 operation, destProcessId);
1198 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1200 int destProcessId) {
1201 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1202 operation, destProcessId);
1204 int Reduce(
const short *sendBuffer,
short *recvBuffer,
1206 int destProcessId) {
1207 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1208 operation, destProcessId);
1210 int Reduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1212 int destProcessId) {
1213 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1214 operation, destProcessId);
1216 int Reduce(
const long *sendBuffer,
long *recvBuffer,
1218 int destProcessId) {
1219 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1220 operation, destProcessId);
1222 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1224 int destProcessId) {
1225 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1226 operation, destProcessId);
1228 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1230 int destProcessId) {
1231 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1232 operation, destProcessId);
1234 int Reduce(
const char *sendBuffer,
char *recvBuffer,
1236 int destProcessId) {
1237 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1238 operation, destProcessId);
1240 int Reduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1242 int destProcessId) {
1243 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1244 operation, destProcessId);
1246 int Reduce(
const float *sendBuffer,
float *recvBuffer,
1248 int destProcessId) {
1249 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1250 operation, destProcessId);
1252 int Reduce(
const double *sendBuffer,
double *recvBuffer,
1254 int destProcessId) {
1255 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1256 operation, destProcessId);
1258 int Reduce(
const long long *sendBuffer,
long long *recvBuffer,
1260 int destProcessId) {
1261 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1262 operation, destProcessId);
1264 int Reduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1266 int destProcessId) {
1267 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1268 operation, destProcessId);
1272 return this->Communicator->Reduce(sendBuffer, recvBuffer,
1273 operation, destProcessId);
1283 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1286 int AllReduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1288 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1293 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1296 int AllReduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1298 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1303 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1306 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1308 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1311 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1313 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1318 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1321 int AllReduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1323 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1328 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1333 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1336 int AllReduce(
const long long *sendBuffer,
long long *recvBuffer,
1338 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1341 int AllReduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1343 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1348 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1354 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1357 int AllReduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1359 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1364 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1367 int AllReduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1369 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1374 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1377 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1379 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1382 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1384 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1389 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1392 int AllReduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1394 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1399 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1404 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1407 int AllReduce(
const long long *sendBuffer,
long long *recvBuffer,
1409 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1412 int AllReduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1414 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1419 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1433 virtual
void TriggerRMIInternal(
int remoteProcessId,
1434 void* arg,
int argLength,
int rmiTag,
bool propagate);
1445 void ProcessRMI(
int remoteProcessId,
void *arg,
int argLength,
int rmiTag);
1458 bool BroadcastTriggerRMI;
1480 unsigned long RMICount;
1483 vtkInternal *Internal;
1489 int remoteProcessId,
int tag)
1491 if (this->Communicator)
1493 return this->Communicator->
Send(data, remoteProcessId, tag);
1502 int remoteProcessId,
int tag)
1504 if (this->Communicator)
1506 return this->Communicator->Send(data, remoteProcessId, tag);
1515 int remoteProcessId,
int tag)
1517 if (this->Communicator)
1519 return this->Communicator->Send(data, length, remoteProcessId, tag);
1528 int remoteProcessId,
int tag)
1530 if (this->Communicator)
1532 return this->Communicator->Send(data, length, remoteProcessId, tag);
1541 int remoteProcessId,
int tag)
1543 if (this->Communicator)
1545 return this->Communicator->Send(data, length, remoteProcessId, tag);
1554 int remoteProcessId,
int tag)
1556 if (this->Communicator)
1558 return this->Communicator->Send(data, length, remoteProcessId, tag);
1568 int remoteProcessId,
1571 if (this->Communicator)
1573 return this->Communicator->Send(data, length, remoteProcessId, tag);
1583 int remoteProcessId,
1586 if (this->Communicator)
1588 return this->Communicator->Send(data, length, remoteProcessId, tag);
1597 int remoteProcessId,
int tag)
1599 if (this->Communicator)
1601 return this->Communicator->Send(data, length, remoteProcessId, tag);
1610 int remoteProcessId,
int tag)
1612 if (this->Communicator)
1614 return this->Communicator->Send(data, length, remoteProcessId, tag);
1624 int remoteProcessId,
int tag)
1626 if (this->Communicator)
1628 return this->Communicator->Send(data, length, remoteProcessId, tag);
1637 int remoteProcessId,
int tag)
1639 if (this->Communicator)
1641 return this->Communicator->Send(data, length, remoteProcessId, tag);
1650 int remoteProcessId,
int tag)
1652 if (this->Communicator)
1654 return this->Communicator->Send(data, length, remoteProcessId, tag);
1664 int remoteProcessId,
int tag)
1666 if (this->Communicator)
1668 return this->Communicator->Send(data, length, remoteProcessId, tag);
1678 int remoteProcessId,
int tag)
1680 if (this->Communicator)
1682 return this->Communicator->Send(data, length, remoteProcessId, tag);
1691 int remoteId,
int tag)
1693 if (this->Communicator)
1695 return this->Communicator->Send(stream, remoteId, tag);
1701 int remoteProcessId,
int tag)
1703 if (this->Communicator)
1705 return this->Communicator->Receive(data, remoteProcessId, tag);
1714 int remoteProcessId,
int tag)
1716 if (this->Communicator)
1718 return this->Communicator->ReceiveDataObject(remoteProcessId, tag);
1727 int remoteProcessId,
int tag)
1729 if (this->Communicator)
1731 return this->Communicator->Receive(data, remoteProcessId, tag);
1740 int remoteProcessId,
int tag)
1742 if (this->Communicator)
1744 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1753 int remoteProcessId,
int tag)
1755 if (this->Communicator)
1757 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1766 int remoteProcessId,
int tag)
1768 if (this->Communicator)
1770 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1779 int remoteProcessId,
int tag)
1781 if (this->Communicator)
1783 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1792 int remoteProcessId,
int tag)
1794 if (this->Communicator)
1796 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1807 int remoteProcessId,
1810 if (this->Communicator)
1812 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1821 int remoteProcessId,
int tag)
1823 if (this->Communicator)
1825 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1835 int remoteProcessId,
int tag)
1837 if (this->Communicator)
1839 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1848 int remoteProcessId,
int tag)
1850 if (this->Communicator)
1852 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1862 int remoteProcessId,
int tag)
1864 if (this->Communicator)
1866 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1875 int remoteProcessId,
int tag)
1877 if (this->Communicator)
1879 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1888 int remoteProcessId,
int tag)
1890 if (this->Communicator)
1892 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1901 int remoteProcessId,
int tag)
1903 if (this->Communicator)
1905 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1914 int remoteId,
int tag)
1916 if (this->Communicator)
1918 return this->Communicator->Receive(stream, remoteId, tag);
1925 if (this->Communicator)
1927 this->Communicator->Barrier();
1933 if (this->Communicator)
1935 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.
void TriggerRMI(int remoteProcessId, int tag)
Convenience method when there is no argument.
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 Send(vtkDataObject *data, int remoteHandle, int tag)
This method sends a data object to a destination.
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.
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)
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.
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
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
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)
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.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
int AllReduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
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.
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.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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...
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.