Moves/redistributes data between processes.
More...
#include <vtkMPIMoveData.h>
Inherits vtkPassInputTypeAlgorithm.
Moves/redistributes data between processes.
This class combines all the duplicate and collection requirements into one filter. It can move polydata and unstructured grid between processes. It can redistributed polydata from M to N processors. Update: This filter can now support delivering vtkUniformGridAMR datasets in PASS_THROUGH and/or COLLECT modes.
Definition at line 38 of file vtkMPIMoveData.h.
◆ Superclass
◆ MoveModes
Enumerator |
---|
PASS_THROUGH | |
COLLECT | |
CLONE | |
COLLECT_AND_PASS_THROUGH | |
Definition at line 134 of file vtkMPIMoveData.h.
◆ Servers
◆ vtkMPIMoveData()
vtkMPIMoveData::vtkMPIMoveData |
( |
| ) |
|
|
protected |
◆ ~vtkMPIMoveData()
vtkMPIMoveData::~vtkMPIMoveData |
( |
| ) |
|
|
protected |
◆ New()
◆ GetClassName()
virtual const char* vtkMPIMoveData::GetClassName |
( |
| ) |
|
|
virtual |
◆ IsTypeOf()
static int vtkMPIMoveData::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
◆ IsA()
virtual int vtkMPIMoveData::IsA |
( |
const char * |
type | ) |
|
|
virtual |
◆ SafeDownCast()
◆ PrintSelf()
void vtkMPIMoveData::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
◆ InitializeForCommunicationForParaView()
virtual void vtkMPIMoveData::InitializeForCommunicationForParaView |
( |
| ) |
|
|
virtual |
Use this method to initialize all communicators/sockets using ParaView defaults.
◆ SetController()
void vtkMPIMoveData::SetController |
( |
vtkMultiProcessController * |
controller | ) |
|
Objects for communication.
The controller is an MPI controller used to communicate between processes within one server (render or data). The client-data server socket controller is set on the client and data server and is used to communicate between the two. MPIMToNSocetConnection is set on the data server and render server when we are running with a render server. It has multiple sockets which are used to send data from the data server to the render server. ClientDataServerController==0 => One MPI program. MPIMToNSocketConnection==0 => Client-DataServer. MPIMToNSocketConnection==1 => Client-DataServer-RenderServer.
◆ SetMPIMToNSocketConnection()
Objects for communication.
The controller is an MPI controller used to communicate between processes within one server (render or data). The client-data server socket controller is set on the client and data server and is used to communicate between the two. MPIMToNSocetConnection is set on the data server and render server when we are running with a render server. It has multiple sockets which are used to send data from the data server to the render server. ClientDataServerController==0 => One MPI program. MPIMToNSocketConnection==0 => Client-DataServer. MPIMToNSocketConnection==1 => Client-DataServer-RenderServer.
◆ SetClientDataServerSocketController()
void vtkMPIMoveData::SetClientDataServerSocketController |
( |
vtkMultiProcessController * |
| ) |
|
Objects for communication.
The controller is an MPI controller used to communicate between processes within one server (render or data). The client-data server socket controller is set on the client and data server and is used to communicate between the two. MPIMToNSocetConnection is set on the data server and render server when we are running with a render server. It has multiple sockets which are used to send data from the data server to the render server. ClientDataServerController==0 => One MPI program. MPIMToNSocketConnection==0 => Client-DataServer. MPIMToNSocketConnection==1 => Client-DataServer-RenderServer.
◆ GetClientDataServerSocketController()
virtual vtkMultiProcessController* vtkMPIMoveData::GetClientDataServerSocketController |
( |
| ) |
|
|
virtual |
Objects for communication.
The controller is an MPI controller used to communicate between processes within one server (render or data). The client-data server socket controller is set on the client and data server and is used to communicate between the two. MPIMToNSocetConnection is set on the data server and render server when we are running with a render server. It has multiple sockets which are used to send data from the data server to the render server. ClientDataServerController==0 => One MPI program. MPIMToNSocketConnection==0 => Client-DataServer. MPIMToNSocketConnection==1 => Client-DataServer-RenderServer.
◆ SetServerToClient()
void vtkMPIMoveData::SetServerToClient |
( |
| ) |
|
|
inline |
Tell the object on which client/server it resides.
Whether the sockets are set helps determine which servers are running.
Definition at line 77 of file vtkMPIMoveData.h.
◆ SetServerToDataServer()
void vtkMPIMoveData::SetServerToDataServer |
( |
| ) |
|
|
inline |
Tell the object on which client/server it resides.
Whether the sockets are set helps determine which servers are running.
Definition at line 78 of file vtkMPIMoveData.h.
◆ SetServerToRenderServer()
void vtkMPIMoveData::SetServerToRenderServer |
( |
| ) |
|
|
inline |
Tell the object on which client/server it resides.
Whether the sockets are set helps determine which servers are running.
Definition at line 79 of file vtkMPIMoveData.h.
◆ SetServer()
virtual void vtkMPIMoveData::SetServer |
( |
int |
| ) |
|
|
virtual |
Tell the object on which client/server it resides.
Whether the sockets are set helps determine which servers are running.
◆ GetServer()
virtual int vtkMPIMoveData::GetServer |
( |
| ) |
|
|
virtual |
Tell the object on which client/server it resides.
Whether the sockets are set helps determine which servers are running.
◆ SetMoveModeToPassThrough()
void vtkMPIMoveData::SetMoveModeToPassThrough |
( |
| ) |
|
|
inline |
Specify how the data is to be redistributed.
Definition at line 87 of file vtkMPIMoveData.h.
◆ SetMoveModeToCollect()
void vtkMPIMoveData::SetMoveModeToCollect |
( |
| ) |
|
|
inline |
◆ SetMoveModeToClone()
void vtkMPIMoveData::SetMoveModeToClone |
( |
| ) |
|
|
inline |
◆ SetMoveMode()
virtual void vtkMPIMoveData::SetMoveMode |
( |
int |
| ) |
|
|
virtual |
◆ SetOutputDataType()
virtual void vtkMPIMoveData::SetOutputDataType |
( |
int |
| ) |
|
|
virtual |
Controls the output type.
This is required because processes receiving data cannot know their output type in RequestDataObject without communicating with other processes. Since communicating with other processes in RequestDataObject is dangerous (can cause deadlock because it may happen out-of-sync), the application has to set the output type. The default is VTK_POLY_DATA.
◆ GetOutputDataType()
virtual int vtkMPIMoveData::GetOutputDataType |
( |
| ) |
|
|
virtual |
Controls the output type.
This is required because processes receiving data cannot know their output type in RequestDataObject without communicating with other processes. Since communicating with other processes in RequestDataObject is dangerous (can cause deadlock because it may happen out-of-sync), the application has to set the output type. The default is VTK_POLY_DATA.
◆ SetUseZLibCompression()
static void vtkMPIMoveData::SetUseZLibCompression |
( |
bool |
b | ) |
|
|
static |
When set to true, zlib compression is used.
False by default. This value has any effect only on the data-sender processes. The receiver always checks the received data to see if zlib decompression is required.
◆ GetUseZLibCompression()
static bool vtkMPIMoveData::GetUseZLibCompression |
( |
| ) |
|
|
static |
When set to true, zlib compression is used.
False by default. This value has any effect only on the data-sender processes. The receiver always checks the received data to see if zlib decompression is required.
◆ GetOutputGeneratedOnProcess()
bool vtkMPIMoveData::GetOutputGeneratedOnProcess |
( |
| ) |
|
vtkMPIMoveData doesn't necessarily generate a valid output data on all the involved processes (depending on the MoveMode and Server ivars).
This returns true if valid data is available on the current processes after successful Update() given the current ivars).
◆ SetSkipDataServerGatherToZero()
virtual void vtkMPIMoveData::SetSkipDataServerGatherToZero |
( |
bool |
| ) |
|
|
virtual |
When set, vtkMPIMoveData will skip the gather-to-root-node process altogether.
This is useful when the data is already cloned on the server-nodes or we are interested in the root-node result alone.
◆ GetSkipDataServerGatherToZero()
virtual bool vtkMPIMoveData::GetSkipDataServerGatherToZero |
( |
| ) |
|
|
virtual |
When set, vtkMPIMoveData will skip the gather-to-root-node process altogether.
This is useful when the data is already cloned on the server-nodes or we are interested in the root-node result alone.
◆ RequestDataObject()
virtual int vtkMPIMoveData::RequestDataObject |
( |
vtkInformation * |
request, |
|
|
vtkInformationVector ** |
inputVector, |
|
|
vtkInformationVector * |
outputVector |
|
) |
| |
|
protectedvirtual |
◆ RequestData()
virtual int vtkMPIMoveData::RequestData |
( |
vtkInformation * |
request, |
|
|
vtkInformationVector ** |
inputVector, |
|
|
vtkInformationVector * |
outputVector |
|
) |
| |
|
protectedvirtual |
◆ FillInputPortInformation()
virtual int vtkMPIMoveData::FillInputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
| |
|
protectedvirtual |
◆ DataServerAllToN()
void vtkMPIMoveData::DataServerAllToN |
( |
vtkDataObject * |
inData, |
|
|
vtkDataObject * |
outData, |
|
|
int |
n |
|
) |
| |
|
protected |
◆ DataServerGatherAll()
void vtkMPIMoveData::DataServerGatherAll |
( |
vtkDataObject * |
input, |
|
|
vtkDataObject * |
output |
|
) |
| |
|
protected |
◆ DataServerGatherToZero()
void vtkMPIMoveData::DataServerGatherToZero |
( |
vtkDataObject * |
input, |
|
|
vtkDataObject * |
output |
|
) |
| |
|
protected |
◆ DataServerSendToRenderServer()
void vtkMPIMoveData::DataServerSendToRenderServer |
( |
vtkDataObject * |
output | ) |
|
|
protected |
◆ RenderServerReceiveFromDataServer()
void vtkMPIMoveData::RenderServerReceiveFromDataServer |
( |
vtkDataObject * |
output | ) |
|
|
protected |
◆ DataServerZeroSendToRenderServerZero()
void vtkMPIMoveData::DataServerZeroSendToRenderServerZero |
( |
vtkDataObject * |
data | ) |
|
|
protected |
◆ RenderServerZeroReceiveFromDataServerZero()
void vtkMPIMoveData::RenderServerZeroReceiveFromDataServerZero |
( |
vtkDataObject * |
data | ) |
|
|
protected |
◆ RenderServerZeroBroadcast()
void vtkMPIMoveData::RenderServerZeroBroadcast |
( |
vtkDataObject * |
data | ) |
|
|
protected |
◆ DataServerSendToClient()
void vtkMPIMoveData::DataServerSendToClient |
( |
vtkDataObject * |
output | ) |
|
|
protected |
◆ ClientReceiveFromDataServer()
void vtkMPIMoveData::ClientReceiveFromDataServer |
( |
vtkDataObject * |
output | ) |
|
|
protected |
◆ ClearBuffer()
void vtkMPIMoveData::ClearBuffer |
( |
| ) |
|
|
protected |
◆ MarshalDataToBuffer()
void vtkMPIMoveData::MarshalDataToBuffer |
( |
vtkDataObject * |
data | ) |
|
|
protected |
◆ ReconstructDataFromBuffer()
void vtkMPIMoveData::ReconstructDataFromBuffer |
( |
vtkDataObject * |
data | ) |
|
|
protected |
◆ Controller
vtkMultiProcessController* vtkMPIMoveData::Controller |
|
protected |
◆ ClientDataServerSocketController
vtkMultiProcessController* vtkMPIMoveData::ClientDataServerSocketController |
|
protected |
◆ MPIMToNSocketConnection
◆ NumberOfBuffers
int vtkMPIMoveData::NumberOfBuffers |
|
protected |
◆ BufferLengths
vtkIdType* vtkMPIMoveData::BufferLengths |
|
protected |
◆ BufferOffsets
vtkIdType* vtkMPIMoveData::BufferOffsets |
|
protected |
◆ Buffers
char* vtkMPIMoveData::Buffers |
|
protected |
◆ BufferTotalLength
vtkIdType vtkMPIMoveData::BufferTotalLength |
|
protected |
◆ MoveMode
int vtkMPIMoveData::MoveMode |
|
protected |
◆ Server
int vtkMPIMoveData::Server |
|
protected |
◆ SkipDataServerGatherToZero
bool vtkMPIMoveData::SkipDataServerGatherToZero |
|
protected |
◆ OutputDataType
int vtkMPIMoveData::OutputDataType |
|
protected |
The documentation for this class was generated from the following file:
- /builddir/build/BUILD/ParaView-v5.2.0/ParaViewCore/ClientServerCore/Rendering/vtkMPIMoveData.h