55 #ifndef vtkMultiProcessController_h 56 #define vtkMultiProcessController_h 58 #include "vtkParallelCoreModule.h" 79 void *remoteArg,
int remoteArgLength,
93 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv))=0;
100 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv),
101 int initializedExternally)=0;
108 virtual void Finalize()=0;
115 virtual void Finalize(
int finalizedExternally)=0;
123 void SetNumberOfProcesses(
int num);
124 int GetNumberOfProcesses();
147 virtual void SingleMethodExecute() = 0;
162 virtual void MultipleMethodExecute() = 0;
167 int GetLocalProcessId();
182 virtual void CreateOutputWindow() = 0;
230 virtual int RemoveFirstRMI(
int tag);
236 virtual int RemoveRMI(
unsigned long id);
242 {(void)f; (void)arg; (void)tag; vtkErrorMacro(
"RemoveRMI Not Implemented Yet");};
256 virtual void RemoveAllRMICallbacks(
int tag);
261 virtual bool RemoveRMICallback(
unsigned long id);
266 void TriggerRMI(
int remoteProcessId,
void *arg,
int argLength,
int tag);
272 void TriggerBreakRMIs();
277 void TriggerRMI(
int remoteProcessId,
const char *arg,
int tag)
278 { this->TriggerRMI(remoteProcessId, (
void*)arg,
279 static_cast<int>(strlen(arg))+1, tag); }
285 { this->TriggerRMI(remoteProcessId,
nullptr, 0, tag); }
296 void TriggerRMIOnAllChildren(
void *arg,
int argLength,
int tag);
299 this->TriggerRMIOnAllChildren(
300 (
void*)arg, static_cast<int>(strlen(arg))+1, tag);
304 this->TriggerRMIOnAllChildren(
nullptr, 0, tag);
306 void BroadcastTriggerRMIOnAllChildren(
void* arg,
int argLength,
int tag);
321 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
323 int BroadcastProcessRMIs(
int reportErrors,
int dont_loop=0);
332 vtkSetMacro(BreakFlag,
int);
333 vtkGetMacro(BreakFlag,
int);
342 vtkSetMacro(BroadcastTriggerRMI,
bool);
343 vtkGetMacro(BroadcastTriggerRMI,
bool);
344 vtkBooleanMacro(BroadcastTriggerRMI,
bool);
380 XML_WRITER_DATA_INFO = 4
438 int Receive(
int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
439 int Receive(
unsigned int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
440 int Receive(
short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
441 int Receive(
unsigned short*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
442 int Receive(
long*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
443 int Receive(
unsigned long*
data,
vtkIdType maxlength,
int remoteProcessId,
445 int Receive(
char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
446 int Receive(
unsigned char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
447 int Receive(
signed char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
448 int Receive(
float*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
449 int Receive(
double*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
450 int Receive(
long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
451 int Receive(
unsigned long long*
data,
vtkIdType maxLength,
int remoteProcessId,
int tag);
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, length, srcProcessId);
519 return this->Communicator->Broadcast(data, length, srcProcessId);
522 return this->Communicator->Broadcast(data, srcProcessId);
525 return this->Communicator->Broadcast(data, srcProcessId);
530 return this->Communicator->Broadcast(stream, srcProcessId);
543 int Gather(
const int *sendBuffer,
int *recvBuffer,
545 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
548 int Gather(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
550 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
553 int Gather(
const short *sendBuffer,
short *recvBuffer,
555 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
558 int Gather(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
560 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
563 int Gather(
const long *sendBuffer,
long *recvBuffer,
565 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
568 int Gather(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
570 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
573 int Gather(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
575 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
578 int Gather(
const char *sendBuffer,
char *recvBuffer,
580 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
583 int Gather(
const signed char *sendBuffer,
signed char *recvBuffer,
585 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
588 int Gather(
const float *sendBuffer,
float *recvBuffer,
590 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
593 int Gather(
const double *sendBuffer,
double *recvBuffer,
595 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
598 int Gather(
const long long *sendBuffer,
long long *recvBuffer,
600 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
603 int Gather(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
605 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
610 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
630 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
645 int GatherV(
const int* sendBuffer,
int* recvBuffer,
648 return this->Communicator->GatherV(sendBuffer, recvBuffer,
649 sendLength, recvLengths,
650 offsets, destProcessId);
652 int GatherV(
const unsigned int* sendBuffer,
unsigned int* recvBuffer,
655 return this->Communicator->GatherV(sendBuffer, recvBuffer,
656 sendLength, recvLengths,
657 offsets, destProcessId);
659 int GatherV(
const short* sendBuffer,
short* recvBuffer,
662 return this->Communicator->GatherV(sendBuffer, recvBuffer,
663 sendLength, recvLengths,
664 offsets, destProcessId);
666 int GatherV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
669 return this->Communicator->GatherV(sendBuffer, recvBuffer,
670 sendLength, recvLengths,
671 offsets, destProcessId);
673 int GatherV(
const long* sendBuffer,
long* recvBuffer,
676 return this->Communicator->GatherV(sendBuffer, recvBuffer,
677 sendLength, recvLengths,
678 offsets, destProcessId);
680 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
683 return this->Communicator->GatherV(sendBuffer, recvBuffer,
684 sendLength, recvLengths,
685 offsets, destProcessId);
687 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
690 return this->Communicator->GatherV(sendBuffer, recvBuffer,
691 sendLength, recvLengths,
692 offsets, destProcessId);
694 int GatherV(
const char* sendBuffer,
char* recvBuffer,
697 return this->Communicator->GatherV(sendBuffer, recvBuffer,
698 sendLength, recvLengths,
699 offsets, destProcessId);
701 int GatherV(
const signed char* sendBuffer,
signed char* recvBuffer,
704 return this->Communicator->GatherV(sendBuffer, recvBuffer,
705 sendLength, recvLengths,
706 offsets, destProcessId);
708 int GatherV(
const float* sendBuffer,
float* recvBuffer,
711 return this->Communicator->GatherV(sendBuffer, recvBuffer,
712 sendLength, recvLengths,
713 offsets, destProcessId);
715 int GatherV(
const double* sendBuffer,
double* recvBuffer,
718 return this->Communicator->GatherV(sendBuffer, recvBuffer,
719 sendLength, recvLengths,
720 offsets, destProcessId);
722 int GatherV(
const long long* sendBuffer,
long long* recvBuffer,
725 return this->Communicator->GatherV(sendBuffer, recvBuffer,
726 sendLength, recvLengths,
727 offsets, destProcessId);
729 int GatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
732 return this->Communicator->GatherV(sendBuffer, recvBuffer,
733 sendLength, recvLengths,
734 offsets, destProcessId);
740 return this->Communicator->GatherV(sendBuffer, recvBuffer,
741 recvLengths, offsets,
749 return this->Communicator->GatherV(sendBuffer, recvBuffer,
750 recvLengths, offsets, destProcessId);
763 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
768 return this->Communicator->GatherV(sendData, recvData, destProcessId);
780 int Scatter(
const int *sendBuffer,
int *recvBuffer,
782 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
785 int Scatter(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
787 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
790 int Scatter(
const short *sendBuffer,
short *recvBuffer,
792 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
795 int Scatter(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
797 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
800 int Scatter(
const long *sendBuffer,
long *recvBuffer,
802 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
805 int Scatter(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
807 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
810 int Scatter(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
812 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
815 int Scatter(
const char *sendBuffer,
char *recvBuffer,
817 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
820 int Scatter(
const signed char *sendBuffer,
signed char *recvBuffer,
822 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
825 int Scatter(
const float *sendBuffer,
float *recvBuffer,
827 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
830 int Scatter(
const double *sendBuffer,
double *recvBuffer,
832 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
835 int Scatter(
const long long *sendBuffer,
long long *recvBuffer,
837 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
840 int Scatter(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
842 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
847 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
859 int ScatterV(
const int *sendBuffer,
int *recvBuffer,
861 vtkIdType recvLength,
int srcProcessId) {
862 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
863 sendLengths, offsets, recvLength,
866 int ScatterV(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
868 vtkIdType recvLength,
int srcProcessId) {
869 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
870 sendLengths, offsets, recvLength,
873 int ScatterV(
const short *sendBuffer,
short *recvBuffer,
875 vtkIdType recvLength,
int srcProcessId) {
876 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
877 sendLengths, offsets, recvLength,
880 int ScatterV(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
882 vtkIdType recvLength,
int srcProcessId) {
883 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
884 sendLengths, offsets, recvLength,
887 int ScatterV(
const long *sendBuffer,
long *recvBuffer,
889 vtkIdType recvLength,
int srcProcessId) {
890 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
891 sendLengths, offsets, recvLength,
894 int ScatterV(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
896 vtkIdType recvLength,
int srcProcessId) {
897 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
898 sendLengths, offsets, recvLength,
901 int ScatterV(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
903 vtkIdType recvLength,
int srcProcessId) {
904 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
905 sendLengths, offsets, recvLength,
908 int ScatterV(
const char *sendBuffer,
char *recvBuffer,
910 vtkIdType recvLength,
int srcProcessId) {
911 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
912 sendLengths, offsets, recvLength,
915 int ScatterV(
const signed char *sendBuffer,
signed char *recvBuffer,
917 vtkIdType recvLength,
int srcProcessId) {
918 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
919 sendLengths, offsets, recvLength,
922 int ScatterV(
const float *sendBuffer,
float *recvBuffer,
924 vtkIdType recvLength,
int srcProcessId) {
925 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
926 sendLengths, offsets, recvLength,
929 int ScatterV(
const double *sendBuffer,
double *recvBuffer,
931 vtkIdType recvLength,
int srcProcessId) {
932 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
933 sendLengths, offsets, recvLength,
936 int ScatterV(
const long long *sendBuffer,
long long *recvBuffer,
938 vtkIdType recvLength,
int srcProcessId) {
939 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
940 sendLengths, offsets, recvLength,
943 int ScatterV(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
945 vtkIdType recvLength,
int srcProcessId) {
946 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
947 sendLengths, offsets, recvLength,
957 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
960 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
963 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
966 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
969 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
973 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
977 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
980 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
983 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
986 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
990 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
993 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
996 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
999 return this->Communicator->AllGather(sendBuffer, recvBuffer);
1010 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1011 sendLength, recvLengths,
1014 int AllGatherV(
const unsigned int* sendBuffer,
unsigned int* recvBuffer,
1017 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1018 sendLength, recvLengths,
1024 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1025 sendLength, recvLengths,
1028 int AllGatherV(
const unsigned short* sendBuffer,
unsigned short* recvBuffer,
1031 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1032 sendLength, recvLengths,
1038 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1039 sendLength, recvLengths,
1042 int AllGatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
1045 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1046 sendLength, recvLengths,
1049 int AllGatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
1052 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1053 sendLength, recvLengths,
1059 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1060 sendLength, recvLengths,
1063 int AllGatherV(
const signed char* sendBuffer,
signed char* recvBuffer,
1066 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1067 sendLength, recvLengths,
1073 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1074 sendLength, recvLengths,
1080 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1081 sendLength, recvLengths,
1084 int AllGatherV(
const long long* sendBuffer,
long long* recvBuffer,
1087 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1088 sendLength, recvLengths,
1091 int AllGatherV(
const unsigned long long* sendBuffer,
unsigned long long* recvBuffer,
1094 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1095 sendLength, recvLengths,
1100 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
1101 recvLengths, offsets);
1112 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
1121 int Reduce(
const int *sendBuffer,
int *recvBuffer,
1123 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1124 operation, destProcessId);
1126 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1128 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1129 operation, destProcessId);
1131 int Reduce(
const short *sendBuffer,
short *recvBuffer,
1133 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1134 operation, destProcessId);
1136 int Reduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1138 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1139 operation, destProcessId);
1141 int Reduce(
const long *sendBuffer,
long *recvBuffer,
1143 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1144 operation, destProcessId);
1146 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1148 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1149 operation, destProcessId);
1151 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1153 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1154 operation, destProcessId);
1156 int Reduce(
const char *sendBuffer,
char *recvBuffer,
1158 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1159 operation, destProcessId);
1161 int Reduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1163 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1164 operation, destProcessId);
1166 int Reduce(
const float *sendBuffer,
float *recvBuffer,
1168 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1169 operation, destProcessId);
1171 int Reduce(
const double *sendBuffer,
double *recvBuffer,
1173 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1174 operation, destProcessId);
1176 int Reduce(
const long long *sendBuffer,
long long *recvBuffer,
1178 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1179 operation, destProcessId);
1181 int Reduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1183 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1184 operation, destProcessId);
1187 int operation,
int destProcessId) {
1188 return this->Communicator->Reduce(sendBuffer, recvBuffer,
1189 operation, destProcessId);
1198 int Reduce(
const int *sendBuffer,
int *recvBuffer,
1200 int destProcessId) {
1201 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1202 operation, destProcessId);
1204 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1206 int destProcessId) {
1207 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1208 operation, destProcessId);
1210 int Reduce(
const short *sendBuffer,
short *recvBuffer,
1212 int destProcessId) {
1213 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1214 operation, destProcessId);
1216 int Reduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1218 int destProcessId) {
1219 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1220 operation, destProcessId);
1222 int Reduce(
const long *sendBuffer,
long *recvBuffer,
1224 int destProcessId) {
1225 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1226 operation, destProcessId);
1228 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1230 int destProcessId) {
1231 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1232 operation, destProcessId);
1234 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1236 int destProcessId) {
1237 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1238 operation, destProcessId);
1240 int Reduce(
const char *sendBuffer,
char *recvBuffer,
1242 int destProcessId) {
1243 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1244 operation, destProcessId);
1246 int Reduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1248 int destProcessId) {
1249 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1250 operation, destProcessId);
1252 int Reduce(
const float *sendBuffer,
float *recvBuffer,
1254 int destProcessId) {
1255 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1256 operation, destProcessId);
1258 int Reduce(
const double *sendBuffer,
double *recvBuffer,
1260 int destProcessId) {
1261 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1262 operation, destProcessId);
1264 int Reduce(
const long long *sendBuffer,
long long *recvBuffer,
1266 int destProcessId) {
1267 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1268 operation, destProcessId);
1270 int Reduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1272 int destProcessId) {
1273 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
1274 operation, destProcessId);
1278 return this->Communicator->Reduce(sendBuffer, recvBuffer,
1279 operation, destProcessId);
1289 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1292 int AllReduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1294 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1299 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1302 int AllReduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1304 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1309 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1312 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1314 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1317 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1319 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1324 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1327 int AllReduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1329 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1334 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1339 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1342 int AllReduce(
const long long *sendBuffer,
long long *recvBuffer,
1344 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1347 int AllReduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1349 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1354 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1360 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1363 int AllReduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
1365 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1370 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1373 int AllReduce(
const unsigned short *sendBuffer,
unsigned short *recvBuffer,
1375 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1380 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1383 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
1385 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1388 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
1390 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1395 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1398 int AllReduce(
const signed char *sendBuffer,
signed char *recvBuffer,
1400 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1405 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1410 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1413 int AllReduce(
const long long *sendBuffer,
long long *recvBuffer,
1415 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1418 int AllReduce(
const unsigned long long *sendBuffer,
unsigned long long *recvBuffer,
1420 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1425 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1439 virtual void TriggerRMIInternal(
int remoteProcessId,
1440 void* arg,
int argLength,
int rmiTag,
bool propagate);
1451 void ProcessRMI(
int remoteProcessId,
void *arg,
int argLength,
int rmiTag);
1486 unsigned long RMICount;
1489 vtkInternal *Internal;
1495 int remoteProcessId,
int tag)
1497 if (this->Communicator)
1499 return this->Communicator->Send(data, remoteProcessId, tag);
1508 int remoteProcessId,
int tag)
1510 if (this->Communicator)
1512 return this->Communicator->Send(data, remoteProcessId, tag);
1521 int remoteProcessId,
int tag)
1523 if (this->Communicator)
1525 return this->Communicator->Send(data, length, remoteProcessId, tag);
1534 int remoteProcessId,
int tag)
1536 if (this->Communicator)
1538 return this->Communicator->Send(data, length, remoteProcessId, tag);
1547 int remoteProcessId,
int tag)
1549 if (this->Communicator)
1551 return this->Communicator->Send(data, length, remoteProcessId, tag);
1560 int remoteProcessId,
int tag)
1562 if (this->Communicator)
1564 return this->Communicator->Send(data, length, remoteProcessId, tag);
1574 int remoteProcessId,
1577 if (this->Communicator)
1579 return this->Communicator->Send(data, length, remoteProcessId, tag);
1589 int remoteProcessId,
1592 if (this->Communicator)
1594 return this->Communicator->Send(data, length, remoteProcessId, tag);
1603 int remoteProcessId,
int tag)
1605 if (this->Communicator)
1607 return this->Communicator->Send(data, length, remoteProcessId, tag);
1616 int remoteProcessId,
int tag)
1618 if (this->Communicator)
1620 return this->Communicator->Send(data, length, remoteProcessId, tag);
1630 int remoteProcessId,
int tag)
1632 if (this->Communicator)
1634 return this->Communicator->Send(data, length, remoteProcessId, tag);
1643 int remoteProcessId,
int tag)
1645 if (this->Communicator)
1647 return this->Communicator->Send(data, length, remoteProcessId, tag);
1656 int remoteProcessId,
int tag)
1658 if (this->Communicator)
1660 return this->Communicator->Send(data, length, remoteProcessId, tag);
1670 int remoteProcessId,
int tag)
1672 if (this->Communicator)
1674 return this->Communicator->Send(data, length, remoteProcessId, tag);
1684 int remoteProcessId,
int tag)
1686 if (this->Communicator)
1688 return this->Communicator->Send(data, length, remoteProcessId, tag);
1697 int remoteId,
int tag)
1699 if (this->Communicator)
1701 return this->Communicator->Send(stream, remoteId, tag);
1707 int remoteProcessId,
int tag)
1709 if (this->Communicator)
1711 return this->Communicator->Receive(data, remoteProcessId, tag);
1720 int remoteProcessId,
int tag)
1722 if (this->Communicator)
1724 return this->Communicator->ReceiveDataObject(remoteProcessId, tag);
1733 int remoteProcessId,
int tag)
1735 if (this->Communicator)
1737 return this->Communicator->Receive(data, remoteProcessId, tag);
1746 int remoteProcessId,
int tag)
1748 if (this->Communicator)
1750 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1759 int remoteProcessId,
int tag)
1761 if (this->Communicator)
1763 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1772 int remoteProcessId,
int tag)
1774 if (this->Communicator)
1776 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1785 int remoteProcessId,
int tag)
1787 if (this->Communicator)
1789 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1798 int remoteProcessId,
int tag)
1800 if (this->Communicator)
1802 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1813 int remoteProcessId,
1816 if (this->Communicator)
1818 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1827 int remoteProcessId,
int tag)
1829 if (this->Communicator)
1831 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1841 int remoteProcessId,
int tag)
1843 if (this->Communicator)
1845 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1854 int remoteProcessId,
int tag)
1856 if (this->Communicator)
1858 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1868 int remoteProcessId,
int tag)
1870 if (this->Communicator)
1872 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1881 int remoteProcessId,
int tag)
1883 if (this->Communicator)
1885 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1894 int remoteProcessId,
int tag)
1896 if (this->Communicator)
1898 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1907 int remoteProcessId,
int tag)
1909 if (this->Communicator)
1911 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1920 int remoteId,
int tag)
1922 if (this->Communicator)
1924 return this->Communicator->Receive(stream, remoteId, tag);
1931 if (this->Communicator)
1933 this->Communicator->Barrier();
1939 if (this->Communicator)
1941 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 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...
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.