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)
1099 int remoteProcessId,
int tag)
1112 int remoteProcessId,
int tag)
1125 int remoteProcessId,
int tag)
1139 int remoteProcessId,
1153 int remoteProcessId,
int tag)
1167 int remoteProcessId,
int tag)
1180 int remoteProcessId,
int tag)
1193 int remoteProcessId,
int tag)
1205 #ifdef VTK_USE_64BIT_IDS
1208 int remoteProcessId,
int tag)
1222 int remoteId,
int tag)
1232 int remoteProcessId,
int tag)
1245 int remoteProcessId,
int tag)
1258 int remoteProcessId,
int tag)
1271 int remoteProcessId,
int tag)
1284 int remoteProcessId,
int tag)
1298 int remoteProcessId,
1312 int remoteProcessId,
int tag)
1326 int remoteProcessId,
int tag)
1339 int remoteProcessId,
int tag)
1352 int remoteProcessId,
int tag)
1364 #ifdef VTK_USE_64BIT_IDS
1367 int remoteProcessId,
int tag)
1382 int remoteId,
int tag)
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 Send(vtkDataObject *data, int remoteHandle, int tag)
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 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)
#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)
vtkDataObject * ReceiveDataObject(int remoteHandle, int tag)
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)
virtual vtkIdType GetCount()
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.