54 #ifndef vtkMultiProcessController_h 55 #define vtkMultiProcessController_h 79 void *remoteArg,
int remoteArgLength,
100 int initializedExternally)=0;
105 virtual void Finalize()=0;
110 virtual void Finalize(
int finalizedExternally)=0;
116 void SetNumberOfProcesses(
int num);
117 int GetNumberOfProcesses();
137 virtual void SingleMethodExecute() = 0;
152 virtual void MultipleMethodExecute() = 0;
155 int GetLocalProcessId();
165 virtual void CreateOutputWindow() = 0;
210 virtual int RemoveFirstRMI(
int tag);
214 virtual int RemoveRMI(
unsigned long id);
231 virtual void RemoveAllRMICallbacks(
int tag);
234 virtual bool RemoveRMICallback(
unsigned long id);
239 void TriggerRMI(
int remoteProcessId,
void *arg,
int argLength,
int tag);
243 void TriggerBreakRMIs();
247 void TriggerRMI(
int remoteProcessId,
const char *arg,
int tag)
248 { this->TriggerRMI(remoteProcessId, (
void*)arg,
249 static_cast<int>(strlen(arg))+1, tag); }
255 { this->TriggerRMI(remoteProcessId, NULL, 0, tag); }
265 void TriggerRMIOnAllChildren(
void *arg,
int argLength,
int tag);
268 this->TriggerRMIOnAllChildren(
269 (
void*)arg, static_cast<int>(strlen(arg))+1, tag);
273 this->TriggerRMIOnAllChildren(NULL, 0, tag);
275 void BroadcastTriggerRMIOnAllChildren(
void* arg,
int argLength,
int tag);
286 int ProcessRMIs(
int reportErrors,
int dont_loop = 0);
288 int BroadcastProcessRMIs(
int reportErrors,
int dont_loop=0);
341 XML_WRITER_DATA_INFO = 4
367 #ifdef VTK_USE_64BIT_IDS 394 int Receive(
int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
395 int Receive(
unsigned int*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
396 int Receive(
unsigned long*
data,
vtkIdType maxlength,
int remoteProcessId,
398 int Receive(
char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
399 int Receive(
unsigned char*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
400 int Receive(
float*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
401 int Receive(
double*
data,
vtkIdType maxlength,
int remoteProcessId,
int tag);
402 #ifdef VTK_USE_64BIT_IDS 433 return this->Communicator->Broadcast(data, length, srcProcessId);
436 return this->Communicator->Broadcast(data, length, srcProcessId);
439 return this->Communicator->Broadcast(data, length, srcProcessId);
442 return this->Communicator->Broadcast(data, length, srcProcessId);
445 return this->Communicator->Broadcast(data, length, srcProcessId);
448 return this->Communicator->Broadcast(data, length, srcProcessId);
451 return this->Communicator->Broadcast(data, length, srcProcessId);
453 #ifdef VTK_USE_64BIT_IDS 455 return this->Communicator->Broadcast(data, length, srcProcessId);
459 return this->Communicator->Broadcast(data, srcProcessId);
462 return this->Communicator->Broadcast(data, srcProcessId);
466 return this->Communicator->Broadcast(stream, srcProcessId);
480 int Gather(
const int *sendBuffer,
int *recvBuffer,
482 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
485 int Gather(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
487 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
490 int Gather(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
492 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
495 int Gather(
const char *sendBuffer,
char *recvBuffer,
497 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
500 int Gather(
const float *sendBuffer,
float *recvBuffer,
502 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
505 int Gather(
const double *sendBuffer,
double *recvBuffer,
507 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
510 #ifdef VTK_USE_64BIT_IDS 513 return this->Communicator->Gather(sendBuffer, recvBuffer, length,
519 return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
534 int GatherV(
const int* sendBuffer,
int* recvBuffer,
537 return this->Communicator->GatherV(sendBuffer, recvBuffer,
538 sendLength, recvLengths,
539 offsets, destProcessId);
541 int GatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
544 return this->Communicator->GatherV(sendBuffer, recvBuffer,
545 sendLength, recvLengths,
546 offsets, destProcessId);
548 int GatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
551 return this->Communicator->GatherV(sendBuffer, recvBuffer,
552 sendLength, recvLengths,
553 offsets, destProcessId);
555 int GatherV(
const char* sendBuffer,
char* recvBuffer,
558 return this->Communicator->GatherV(sendBuffer, recvBuffer,
559 sendLength, recvLengths,
560 offsets, destProcessId);
562 int GatherV(
const float* sendBuffer,
float* recvBuffer,
565 return this->Communicator->GatherV(sendBuffer, recvBuffer,
566 sendLength, recvLengths,
567 offsets, destProcessId);
569 int GatherV(
const double* sendBuffer,
double* recvBuffer,
572 return this->Communicator->GatherV(sendBuffer, recvBuffer,
573 sendLength, recvLengths,
574 offsets, destProcessId);
576 #ifdef VTK_USE_64BIT_IDS 580 return this->Communicator->GatherV(sendBuffer, recvBuffer,
581 sendLength, recvLengths,
582 offsets, destProcessId);
587 return this->Communicator->GatherV(sendBuffer, recvBuffer,
588 recvLengths, offsets,
601 return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
611 int Scatter(
const int *sendBuffer,
int *recvBuffer,
613 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
616 int Scatter(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
618 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
621 int Scatter(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
623 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
626 int Scatter(
const char *sendBuffer,
char *recvBuffer,
628 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
631 int Scatter(
const float *sendBuffer,
float *recvBuffer,
633 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
636 int Scatter(
const double *sendBuffer,
double *recvBuffer,
638 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
641 #ifdef VTK_USE_64BIT_IDS 644 return this->Communicator->Scatter(sendBuffer, recvBuffer, length,
650 return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
661 int ScatterV(
const int *sendBuffer,
int *recvBuffer,
663 vtkIdType recvLength,
int srcProcessId) {
664 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
665 sendLengths, offsets, recvLength,
668 int ScatterV(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
670 vtkIdType recvLength,
int srcProcessId) {
671 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
672 sendLengths, offsets, recvLength,
675 int ScatterV(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
677 vtkIdType recvLength,
int srcProcessId) {
678 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
679 sendLengths, offsets, recvLength,
682 int ScatterV(
const char *sendBuffer,
char *recvBuffer,
684 vtkIdType recvLength,
int srcProcessId) {
685 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
686 sendLengths, offsets, recvLength,
689 int ScatterV(
const float *sendBuffer,
float *recvBuffer,
691 vtkIdType recvLength,
int srcProcessId) {
692 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
693 sendLengths, offsets, recvLength,
696 int ScatterV(
const double *sendBuffer,
double *recvBuffer,
698 vtkIdType recvLength,
int srcProcessId) {
699 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
700 sendLengths, offsets, recvLength,
703 #ifdef VTK_USE_64BIT_IDS 706 vtkIdType recvLength,
int srcProcessId) {
707 return this->Communicator->ScatterV(sendBuffer, recvBuffer,
708 sendLengths, offsets, recvLength,
717 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
720 unsigned long *recvBuffer,
vtkIdType length) {
721 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
724 unsigned char *recvBuffer,
vtkIdType length) {
725 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
728 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
731 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
735 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
737 #ifdef VTK_USE_64BIT_IDS 740 return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
744 return this->Communicator->AllGather(sendBuffer, recvBuffer);
753 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
754 sendLength, recvLengths,
757 int AllGatherV(
const unsigned long* sendBuffer,
unsigned long* recvBuffer,
760 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
761 sendLength, recvLengths,
764 int AllGatherV(
const unsigned char* sendBuffer,
unsigned char* recvBuffer,
767 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
768 sendLength, recvLengths,
774 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
775 sendLength, recvLengths,
781 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
782 sendLength, recvLengths,
788 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
789 sendLength, recvLengths,
792 #ifdef VTK_USE_64BIT_IDS 796 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
797 sendLength, recvLengths,
803 return this->Communicator->AllGatherV(sendBuffer, recvBuffer,
804 recvLengths, offsets);
815 return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
823 int Reduce(
const int *sendBuffer,
int *recvBuffer,
824 vtkIdType length,
int operation,
int destProcessId) {
825 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
826 operation, destProcessId);
828 int Reduce(
const unsigned int *sendBuffer,
unsigned int *recvBuffer,
829 vtkIdType length,
int operation,
int destProcessId) {
830 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
831 operation, destProcessId);
833 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
834 vtkIdType length,
int operation,
int destProcessId) {
835 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
836 operation, destProcessId);
838 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
839 vtkIdType length,
int operation,
int destProcessId) {
840 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
841 operation, destProcessId);
843 int Reduce(
const char *sendBuffer,
char *recvBuffer,
844 vtkIdType length,
int operation,
int destProcessId) {
845 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
846 operation, destProcessId);
848 int Reduce(
const float *sendBuffer,
float *recvBuffer,
849 vtkIdType length,
int operation,
int destProcessId) {
850 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
851 operation, destProcessId);
853 int Reduce(
const double *sendBuffer,
double *recvBuffer,
854 vtkIdType length,
int operation,
int destProcessId) {
855 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
856 operation, destProcessId);
858 #ifdef VTK_USE_64BIT_IDS 860 vtkIdType length,
int operation,
int destProcessId) {
861 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
862 operation, destProcessId);
866 int operation,
int destProcessId) {
867 return this->Communicator->Reduce(sendBuffer, recvBuffer,
868 operation, destProcessId);
877 int Reduce(
const int *sendBuffer,
int *recvBuffer,
880 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
881 operation, destProcessId);
883 int Reduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
886 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
887 operation, destProcessId);
889 int Reduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
892 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
893 operation, destProcessId);
895 int Reduce(
const char *sendBuffer,
char *recvBuffer,
898 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
899 operation, destProcessId);
901 int Reduce(
const float *sendBuffer,
float *recvBuffer,
904 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
905 operation, destProcessId);
907 int Reduce(
const double *sendBuffer,
double *recvBuffer,
910 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
911 operation, destProcessId);
913 #ifdef VTK_USE_64BIT_IDS 917 return this->Communicator->Reduce(sendBuffer, recvBuffer, length,
918 operation, destProcessId);
923 return this->Communicator->Reduce(sendBuffer, recvBuffer,
924 operation, destProcessId);
934 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
937 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
939 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
942 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
944 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
949 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
952 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
954 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
957 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
959 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
962 #ifdef VTK_USE_64BIT_IDS 965 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
971 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
976 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
979 int AllReduce(
const unsigned long *sendBuffer,
unsigned long *recvBuffer,
981 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
984 int AllReduce(
const unsigned char *sendBuffer,
unsigned char *recvBuffer,
986 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
991 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
994 int AllReduce(
const float *sendBuffer,
float *recvBuffer,
996 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
999 int AllReduce(
const double *sendBuffer,
double *recvBuffer,
1001 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1004 #ifdef VTK_USE_64BIT_IDS 1007 return this->Communicator->AllReduce(sendBuffer, recvBuffer, length,
1013 return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
1028 virtual void TriggerRMIInternal(
int remoteProcessId,
1029 void* arg,
int argLength,
int rmiTag,
bool propagate);
1041 void ProcessRMI(
int remoteProcessId,
void *arg,
int argLength,
int rmiTag);
1076 unsigned long RMICount;
1080 vtkInternal *Internal;
1086 int remoteProcessId,
int tag)
1088 if (this->Communicator)
1090 return this->Communicator->Send(data, remoteProcessId, tag);
1099 int remoteProcessId,
int tag)
1101 if (this->Communicator)
1103 return this->Communicator->Send(data, remoteProcessId, tag);
1112 int remoteProcessId,
int tag)
1114 if (this->Communicator)
1116 return this->Communicator->Send(data, length, remoteProcessId, tag);
1125 int remoteProcessId,
int tag)
1127 if (this->Communicator)
1129 return this->Communicator->Send(data, length, remoteProcessId, tag);
1139 int remoteProcessId,
1142 if (this->Communicator)
1144 return this->Communicator->Send(data, length, remoteProcessId, tag);
1153 int remoteProcessId,
int tag)
1155 if (this->Communicator)
1157 return this->Communicator->Send(data, length, remoteProcessId, tag);
1167 int remoteProcessId,
int tag)
1169 if (this->Communicator)
1171 return this->Communicator->Send(data, length, remoteProcessId, tag);
1180 int remoteProcessId,
int tag)
1182 if (this->Communicator)
1184 return this->Communicator->Send(data, length, remoteProcessId, tag);
1193 int remoteProcessId,
int tag)
1195 if (this->Communicator)
1197 return this->Communicator->Send(data, length, remoteProcessId, tag);
1205 #ifdef VTK_USE_64BIT_IDS 1208 int remoteProcessId,
int tag)
1210 if (this->Communicator)
1212 return this->Communicator->Send(data, length, remoteProcessId, tag);
1222 int remoteId,
int tag)
1224 if (this->Communicator)
1226 return this->Communicator->Send(stream, remoteId, tag);
1232 int remoteProcessId,
int tag)
1234 if (this->Communicator)
1236 return this->Communicator->Receive(data, remoteProcessId, tag);
1245 int remoteProcessId,
int tag)
1247 if (this->Communicator)
1249 return this->Communicator->ReceiveDataObject(remoteProcessId, tag);
1258 int remoteProcessId,
int tag)
1260 if (this->Communicator)
1262 return this->Communicator->Receive(data, remoteProcessId, tag);
1271 int remoteProcessId,
int tag)
1273 if (this->Communicator)
1275 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1284 int remoteProcessId,
int tag)
1286 if (this->Communicator)
1288 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1298 int remoteProcessId,
1301 if (this->Communicator)
1303 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1312 int remoteProcessId,
int tag)
1314 if (this->Communicator)
1316 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1326 int remoteProcessId,
int tag)
1328 if (this->Communicator)
1330 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1339 int remoteProcessId,
int tag)
1341 if (this->Communicator)
1343 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1352 int remoteProcessId,
int tag)
1354 if (this->Communicator)
1356 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1364 #ifdef VTK_USE_64BIT_IDS 1367 int remoteProcessId,
int tag)
1369 if (this->Communicator)
1371 return this->Communicator->Receive(data, length, remoteProcessId, tag);
1382 int remoteId,
int tag)
1384 if (this->Communicator)
1386 return this->Communicator->Receive(stream, remoteId, tag);
1393 if (this->Communicator)
1395 this->Communicator->Barrier();
1401 if (this->Communicator)
1403 return this->Communicator->GetCount();
GLsizei GLsizei GLenum GLenum const GLvoid * data
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)
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Scatter(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
static int GetRMIArgTag()
abstract base class for most VTK objects
int Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Scatter(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId)
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation)
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)
#define VTKPARALLELCORE_EXPORT
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
abstract class to specify dataset behavior
void TriggerRMIOnAllChildren(int tag)
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation)
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
#define vtkGetMacro(name, type)
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)
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
GLuint GLsizei GLsizei * length
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 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)
#define vtkTypeMacro(thisClass, superclass)
int AllGatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Broadcast(char *data, vtkIdType length, int srcProcessId)
int Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)
int Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
void TriggerRMI(int remoteProcessId, const char *arg, int tag)
virtual void PrintSelf(ostream &os, vtkIndent indent)
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Broadcast(float *data, vtkIdType length, int srcProcessId)
a simple class to control print indentation
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation)
topologically and geometrically regular array of data
virtual void RemoveRMI(vtkRMIFunctionType f, void *arg, int tag)
abstract superclass for arrays of numeric data
A subgroup of processes from a communicator.
int Broadcast(vtkDataObject *data, int srcProcessId)
vtkDataObject * ReceiveDataObject(int remoteId, int tag)
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
int AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
#define vtkGetObjectMacro(name, type)
int Broadcast(unsigned int *data, vtkIdType length, int srcProcessId)
base class for writing debug output to a console
int AllGatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkProcessFunctionType SingleMethod
int Broadcast(unsigned char *data, vtkIdType length, int srcProcessId)
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation, int destProcessId)
int GatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation)
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int GatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int ScatterV(const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int ScatterV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Send(const int *data, vtkIdType length, int remoteProcessId, int tag)
create and manipulate unsorted lists of objects
int Scatter(const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId)
int Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
int AllGatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
vtkCommunicator * RMICommunicator
int Broadcast(vtkDataArray *data, int srcProcessId)
int Receive(int *data, vtkIdType maxlength, int remoteProcessId, int tag)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Broadcast(double *data, vtkIdType length, int srcProcessId)
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
int Broadcast(unsigned long *data, vtkIdType length, int srcProcessId)
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
#define vtkBooleanMacro(name, type)
int Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
int AllGatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
int Scatter(const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId)
Used to send/receive messages in a multiprocess environment.
general representation of visualization data
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
int GatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
int ScatterV(const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
#define vtkSetMacro(name, type)
Multiprocessing communication superclass.