40 #ifndef __vtkMultiProcessController_h
41 #define __vtkMultiProcessController_h
43 #include "vtkParallelCoreModule.h"
44 #include "vtkObject.h"
54 class vtkOutputWindow;
65 void *remoteArg,
int remoteArgLength,
74 void PrintSelf(ostream& os, vtkIndent indent);
79 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv))=0;
85 virtual void Initialize(
int* vtkNotUsed(argc),
char*** vtkNotUsed(argv),
86 int initializedExternally)=0;
91 virtual void Finalize()=0;
96 virtual void Finalize(
int finalizedExternally)=0;
102 void SetNumberOfProcesses(
int num);
103 int GetNumberOfProcesses();
123 virtual void SingleMethodExecute() = 0;
138 virtual void MultipleMethodExecute() = 0;
141 int GetLocalProcessId();
151 virtual void CreateOutputWindow() = 0;
196 virtual int RemoveFirstRMI(
int tag);
200 virtual int RemoveRMI(
unsigned long id);
205 {(void)f; (void)arg; (void)tag; vtkErrorMacro(
"RemoveRMI Not Implemented Yet");};
217 virtual void RemoveAllRMICallbacks(
int tag);
220 virtual bool RemoveRMICallback(
unsigned long id);
225 void TriggerRMI(
int remoteProcessId,
void *arg,
int argLength,
int tag);
229 void TriggerBreakRMIs();
233 void TriggerRMI(
int remoteProcessId,
const char *arg,
int tag)
234 { this->TriggerRMI(remoteProcessId, (
void*)arg,
235 static_cast<int>(strlen(arg))+1, tag); }
241 { this->TriggerRMI(remoteProcessId, NULL, 0, tag); }
251 void TriggerRMIOnAllChildren(
void *arg,
int argLength,
int tag);
254 this->TriggerRMIOnAllChildren(
255 (
void*)arg, static_cast<int>(strlen(arg))+1, tag);
259 this->TriggerRMIOnAllChildren(NULL, 0, tag);
271 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
279 vtkSetMacro(BreakFlag,
int);
280 vtkGetMacro(BreakFlag,
int);
316 XML_WRITER_DATA_INFO = 4
334 int Send(
const int* data, vtkIdType length,
int remoteProcessId,
int tag);
335 int Send(
const unsigned int* data, vtkIdType length,
int remoteProcessId,
int tag);
336 int Send(
const unsigned long* data, vtkIdType length,
int remoteProcessId,
338 int Send(
const char* data, vtkIdType length,
int remoteProcessId,
int tag);
339 int Send(
const unsigned char* data, vtkIdType length,
int remoteProcessId,
int tag);
340 int Send(
const float* data, vtkIdType length,
int remoteProcessId,
int tag);
341 int Send(
const double* data, vtkIdType length,
int remoteProcessId,
int tag);
342 #ifdef VTK_USE_64BIT_IDS
343 int Send(
const vtkIdType* data, vtkIdType length,
int remoteProcessId,
int tag);
345 int Send(vtkDataObject *data,
int remoteId,
int tag);
346 int Send(vtkDataArray *data,
int remoteId,
int tag);
369 int Receive(
int* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
370 int Receive(
unsigned int* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
371 int Receive(
unsigned long* data, vtkIdType maxlength,
int remoteProcessId,
373 int Receive(
char* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
374 int Receive(
unsigned char* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
375 int Receive(
float* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
376 int Receive(
double* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
377 #ifdef VTK_USE_64BIT_IDS
378 int Receive(vtkIdType* data, vtkIdType maxlength,
int remoteProcessId,
int tag);
380 int Receive(vtkDataObject* data,
int remoteId,
int tag);
381 int Receive(vtkDataArray* data,
int remoteId,
int tag);
388 vtkDataObject *ReceiveDataObject(
int remoteId,
int tag);
398 vtkIdType GetCount();
407 int Broadcast(
int *data, vtkIdType length,
int srcProcessId) {
408 return this->Communicator->Broadcast(data, length, srcProcessId);
410 int Broadcast(
unsigned int *data, vtkIdType length,
int srcProcessId) {
411 return this->Communicator->Broadcast(data, length, srcProcessId);
413 int Broadcast(
unsigned long *data, vtkIdType length,
int srcProcessId) {
414 return this->Communicator->Broadcast(data, length, srcProcessId);
416 int Broadcast(
unsigned char *data, vtkIdType length,
int srcProcessId) {
417 return this->Communicator->Broadcast(data, length, srcProcessId);
419 int Broadcast(
char *data, vtkIdType length,
int srcProcessId) {
420 return this->Communicator->Broadcast(data, length, srcProcessId);
422 int Broadcast(
float *data, vtkIdType length,
int srcProcessId) {
423 return this->Communicator->Broadcast(data, length, srcProcessId);
425 int Broadcast(
double *data, vtkIdType length,
int srcProcessId) {
426 return this->Communicator->Broadcast(data, length, srcProcessId);
428 #ifdef VTK_USE_64BIT_IDS
429 int Broadcast(vtkIdType *data, vtkIdType length,
int srcProcessId) {
430 return this->Communicator->Broadcast(data, length, srcProcessId);
434 return this->Communicator->Broadcast(data, srcProcessId);
437 return this->Communicator->Broadcast(data, srcProcessId);
441 return this->Communicator->Broadcast(stream, srcProcessId);
455 int Gather(
const int *sendBuffer,
int *recvBuffer,
456 vtkIdType length,
int destProcessId) {
457 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
460 int Gather(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
461 vtkIdType length,
int destProcessId) {
462 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
465 int Gather(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
466 vtkIdType length,
int destProcessId) {
467 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
470 int Gather(
const char *sendBuffer,
char *recvBuffer,
471 vtkIdType length,
int destProcessId) {
472 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
475 int Gather(
const float *sendBuffer,
float *recvBuffer,
476 vtkIdType length,
int destProcessId) {
477 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
480 int Gather(
const double *sendBuffer,
double *recvBuffer,
481 vtkIdType length,
int destProcessId) {
482 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
485 #ifdef VTK_USE_64BIT_IDS
486 int Gather(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
487 vtkIdType length,
int destProcessId) {
488 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
492 int Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
494 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
509 int GatherV(
const int* sendBuffer,
int* recvBuffer,
510 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
512 return this->Communicator->GatherV(sendBuffer, recvBuffer,
513 sendLength, recvLengths,
514 offsets, destProcessId);
516 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
517 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
519 return this->Communicator->GatherV(sendBuffer, recvBuffer,
520 sendLength, recvLengths,
521 offsets, destProcessId);
523 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
524 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
526 return this->Communicator->GatherV(sendBuffer, recvBuffer,
527 sendLength, recvLengths,
528 offsets, destProcessId);
530 int GatherV(
const char* sendBuffer,
char* recvBuffer,
531 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
533 return this->Communicator->GatherV(sendBuffer, recvBuffer,
534 sendLength, recvLengths,
535 offsets, destProcessId);
537 int GatherV(
const float* sendBuffer,
float* recvBuffer,
538 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
540 return this->Communicator->GatherV(sendBuffer, recvBuffer,
541 sendLength, recvLengths,
542 offsets, destProcessId);
544 int GatherV(
const double* sendBuffer,
double* recvBuffer,
545 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
547 return this->Communicator->GatherV(sendBuffer, recvBuffer,
548 sendLength, recvLengths,
549 offsets, destProcessId);
551 #ifdef VTK_USE_64BIT_IDS
552 int GatherV(
const vtkIdType* sendBuffer, vtkIdType* recvBuffer,
553 vtkIdType sendLength, vtkIdType* recvLengths, vtkIdType* offsets,
555 return this->Communicator->GatherV(sendBuffer, recvBuffer,
556 sendLength, recvLengths,
557 offsets, destProcessId);
560 int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
561 vtkIdType *recvLengths, vtkIdType *offsets,
int destProcessId) {
562 return this->Communicator->GatherV(sendBuffer, recvBuffer,
563 recvLengths, offsets,
574 int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
576 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
586 int Scatter(
const int *sendBuffer,
int *recvBuffer,
587 vtkIdType length,
int srcProcessId) {
588 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
591 int Scatter(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
592 vtkIdType length,
int srcProcessId) {
593 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
596 int Scatter(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
597 vtkIdType length,
int srcProcessId) {
598 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
601 int Scatter(
const char *sendBuffer,
char *recvBuffer,
602 vtkIdType length,
int srcProcessId) {
603 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
606 int Scatter(
const float *sendBuffer,
float *recvBuffer,
607 vtkIdType length,
int srcProcessId) {
608 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
611 int Scatter(
const double *sendBuffer,
double *recvBuffer,
612 vtkIdType length,
int srcProcessId) {
613 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
616 #ifdef VTK_USE_64BIT_IDS
617 int Scatter(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
618 vtkIdType length,
int srcProcessId) {
619 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
623 int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
625 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
636 int ScatterV(
const int *sendBuffer,
int *recvBuffer,
637 vtkIdType *sendLengths, vtkIdType *offsets,
638 vtkIdType recvLength,
int srcProcessId) {
639 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
640 sendLengths, offsets, recvLength,
643 int ScatterV(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
644 vtkIdType *sendLengths, vtkIdType *offsets,
645 vtkIdType recvLength,
int srcProcessId) {
646 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
647 sendLengths, offsets, recvLength,
650 int ScatterV(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
651 vtkIdType *sendLengths, vtkIdType *offsets,
652 vtkIdType recvLength,
int srcProcessId) {
653 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
654 sendLengths, offsets, recvLength,
657 int ScatterV(
const char *sendBuffer,
char *recvBuffer,
658 vtkIdType *sendLengths, vtkIdType *offsets,
659 vtkIdType recvLength,
int srcProcessId) {
660 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
661 sendLengths, offsets, recvLength,
664 int ScatterV(
const float *sendBuffer,
float *recvBuffer,
665 vtkIdType *sendLengths, vtkIdType *offsets,
666 vtkIdType recvLength,
int srcProcessId) {
667 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
668 sendLengths, offsets, recvLength,
671 int ScatterV(
const double *sendBuffer,
double *recvBuffer,
672 vtkIdType *sendLengths, vtkIdType *offsets,
673 vtkIdType recvLength,
int srcProcessId) {
674 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
675 sendLengths, offsets, recvLength,
678 #ifdef VTK_USE_64BIT_IDS
679 int ScatterV(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
680 vtkIdType *sendLengths, vtkIdType *offsets,
681 vtkIdType recvLength,
int srcProcessId) {
682 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
683 sendLengths, offsets, recvLength,
691 int AllGather(
const int *sendBuffer,
int *recvBuffer, vtkIdType length) {
692 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
695 unsigned long *recvBuffer, vtkIdType length) {
696 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
699 unsigned char *recvBuffer, vtkIdType length) {
700 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
702 int AllGather(
const char *sendBuffer,
char *recvBuffer, vtkIdType length) {
703 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
705 int AllGather(
const float *sendBuffer,
float *recvBuffer, vtkIdType length) {
706 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
709 double *recvBuffer, vtkIdType length) {
710 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
712 #ifdef VTK_USE_64BIT_IDS
713 int AllGather(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
715 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
718 int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) {
719 return this->Communicator->AllGather(sendBuffer, recvBuffer);
726 vtkIdType sendLength, vtkIdType* recvLengths,
727 vtkIdType* offsets) {
728 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
729 sendLength, recvLengths,
732 int AllGatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
733 vtkIdType sendLength, vtkIdType* recvLengths,
734 vtkIdType* offsets) {
735 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
736 sendLength, recvLengths,
739 int AllGatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
740 vtkIdType sendLength, vtkIdType* recvLengths,
741 vtkIdType* offsets) {
742 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
743 sendLength, recvLengths,
747 vtkIdType sendLength, vtkIdType* recvLengths,
748 vtkIdType* offsets) {
749 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
750 sendLength, recvLengths,
754 vtkIdType sendLength, vtkIdType* recvLengths,
755 vtkIdType* offsets) {
756 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
757 sendLength, recvLengths,
761 vtkIdType sendLength, vtkIdType* recvLengths,
762 vtkIdType* offsets) {
763 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
764 sendLength, recvLengths,
767 #ifdef VTK_USE_64BIT_IDS
768 int AllGatherV(
const vtkIdType* sendBuffer, vtkIdType* recvBuffer,
769 vtkIdType sendLength, vtkIdType* recvLengths,
770 vtkIdType* offsets) {
771 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
772 sendLength, recvLengths,
776 int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
777 vtkIdType *recvLengths, vtkIdType *offsets) {
778 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
779 recvLengths, offsets);
789 int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer) {
790 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
798 int Reduce(
const int *sendBuffer,
int *recvBuffer,
799 vtkIdType length,
int operation,
int destProcessId) {
800 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
801 operation, destProcessId);
803 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
804 vtkIdType length,
int operation,
int destProcessId) {
805 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
806 operation, destProcessId);
808 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
809 vtkIdType length,
int operation,
int destProcessId) {
810 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
811 operation, destProcessId);
813 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
814 vtkIdType length,
int operation,
int destProcessId) {
815 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
816 operation, destProcessId);
818 int Reduce(
const char *sendBuffer,
char *recvBuffer,
819 vtkIdType length,
int operation,
int destProcessId) {
820 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
821 operation, destProcessId);
823 int Reduce(
const float *sendBuffer,
float *recvBuffer,
824 vtkIdType length,
int operation,
int destProcessId) {
825 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
826 operation, destProcessId);
828 int Reduce(
const double *sendBuffer,
double *recvBuffer,
829 vtkIdType length,
int operation,
int destProcessId) {
830 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
831 operation, destProcessId);
833 #ifdef VTK_USE_64BIT_IDS
834 int Reduce(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
835 vtkIdType length,
int operation,
int destProcessId) {
836 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
837 operation, destProcessId);
840 int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
841 int operation,
int destProcessId) {
842 return this->Communicator->Reduce(sendBuffer, recvBuffer,
843 operation, destProcessId);
852 int Reduce(
const int *sendBuffer,
int *recvBuffer,
855 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
856 operation, destProcessId);
858 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
861 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
862 operation, destProcessId);
864 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
867 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
868 operation, destProcessId);
870 int Reduce(
const char *sendBuffer,
char *recvBuffer,
873 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
874 operation, destProcessId);
876 int Reduce(
const float *sendBuffer,
float *recvBuffer,
879 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
880 operation, destProcessId);
882 int Reduce(
const double *sendBuffer,
double *recvBuffer,
885 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
886 operation, destProcessId);
888 #ifdef VTK_USE_64BIT_IDS
889 int Reduce(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
892 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
893 operation, destProcessId);
896 int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
898 return this->Communicator->Reduce(sendBuffer, recvBuffer,
899 operation, destProcessId);
908 vtkIdType length,
int operation) {
909 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
912 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
913 vtkIdType length,
int operation) {
914 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
917 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
918 vtkIdType length,
int operation) {
919 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
923 vtkIdType length,
int operation) {
924 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
927 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
928 vtkIdType length,
int operation) {
929 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
932 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
933 vtkIdType length,
int operation) {
934 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
937 #ifdef VTK_USE_64BIT_IDS
938 int AllReduce(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
939 vtkIdType length,
int operation) {
940 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
944 int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
946 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
951 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
954 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
956 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
959 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
961 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
966 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
969 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
971 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
974 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
976 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
979 #ifdef VTK_USE_64BIT_IDS
980 int AllReduce(
const vtkIdType *sendBuffer, vtkIdType *recvBuffer,
982 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
986 int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer,
988 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1003 virtual void TriggerRMIInternal(
int remoteProcessId,
1004 void* arg,
int argLength,
int rmiTag,
bool propagate);
1016 void ProcessRMI(
int remoteProcessId,
void *arg,
int argLength,
int rmiTag);
1046 unsigned long RMICount;
1050 vtkInternal *Internal;
1056 int remoteProcessId,
int tag)
1069 int remoteProcessId,
int tag)
1082 int remoteProcessId,
int tag)
1095 int remoteProcessId,
int tag)
1109 int remoteProcessId,
1123 int remoteProcessId,
int tag)
1137 int remoteProcessId,
int tag)
1150 int remoteProcessId,
int tag)
1163 int remoteProcessId,
int tag)
1175 #ifdef VTK_USE_64BIT_IDS
1178 int remoteProcessId,
int tag)
1192 int remoteId,
int tag)
1202 int remoteProcessId,
int tag)
1215 int remoteProcessId,
int tag)
1228 int remoteProcessId,
int tag)
1241 int remoteProcessId,
int tag)
1254 int remoteProcessId,
int tag)
1268 int remoteProcessId,
1282 int remoteProcessId,
int tag)
1296 int remoteProcessId,
int tag)
1309 int remoteProcessId,
int tag)
1322 int remoteProcessId,
int tag)
1334 #ifdef VTK_USE_64BIT_IDS
1337 int remoteProcessId,
int tag)
1352 int remoteId,
int tag)
int AllGather(const float *sendBuffer, float *recvBuffer, vtkIdType length)
int Scatter(const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId)
vtkCommunicator * Communicator
void TriggerRMI(int remoteProcessId, int tag)
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Send(vtkDataObject *data, int remoteHandle, int tag)
int Scatter(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId)
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
static int GetRMIArgTag()
int Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Scatter(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId)
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation)
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId)
int GatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
stream used to pass data across processes using vtkMultiProcessController.
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
void TriggerRMIOnAllChildren(const char *arg, int tag)
int ScatterV(const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
void TriggerRMIOnAllChildren(int tag)
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation)
a process that can be launched by a vtkMultiProcessController
int GatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation)
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllGatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Broadcast(int *data, vtkIdType length, int srcProcessId)
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation)
vtkOutputWindow * OutputWindow
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation)
int AllGather(const double *sendBuffer, double *recvBuffer, vtkIdType length)
int AllGather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length)
int ScatterV(const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
static int GetBreakRMITag()
int Receive(vtkDataObject *data, int remoteHandle, int tag)
int Broadcast(vtkMultiProcessStream &stream, int srcProcessId)
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int ScatterV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int AllGather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length)
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllGatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Broadcast(char *data, vtkIdType length, int srcProcessId)
vtkDataObject * ReceiveDataObject(int remoteHandle, int tag)
int Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
int Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
void TriggerRMI(int remoteProcessId, const char *arg, int tag)
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Broadcast(float *data, vtkIdType length, int srcProcessId)
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation)
virtual void RemoveRMI(vtkRMIFunctionType f, void *arg, int tag)
virtual vtkIdType GetCount()
A subgroup of processes from a communicator.
int Broadcast(vtkDataObject *data, int srcProcessId)
vtkDataObject * ReceiveDataObject(int remoteId, int tag)
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
int AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
int Broadcast(unsigned int *data, vtkIdType length, int srcProcessId)
int AllGatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkProcessFunctionType SingleMethod
int Broadcast(unsigned char *data, vtkIdType length, int srcProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation, int destProcessId)
int GatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation)
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int GatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int ScatterV(const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int ScatterV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Send(const int *data, vtkIdType length, int remoteProcessId, int tag)
int Scatter(const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId)
int Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkCommunicator * RMICommunicator
int Broadcast(vtkDataArray *data, int srcProcessId)
int Receive(int *data, vtkIdType maxlength, int remoteProcessId, int tag)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Broadcast(double *data, vtkIdType length, int srcProcessId)
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
int Broadcast(unsigned long *data, vtkIdType length, int srcProcessId)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
int AllGatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Scatter(const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId)
Used to send/receive messages in a multiprocess environment.
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
int GatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
int ScatterV(const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
Multiprocessing communication superclass.