VTK
|
#include <vtkPPixelTransfer.h>
Public Member Functions | |
vtkPPixelTransfer () | |
~vtkPPixelTransfer () | |
int | GetSourceRank () const |
void | SetDestinationRank (int rank) |
int | GetDestinationRank () const |
vtkPixelExtent & | GetSourceWholeExtent () |
const vtkPixelExtent & | GetSourceWholeExtent () const |
vtkPixelExtent & | GetSourceExtent () |
const vtkPixelExtent & | GetSourceExtent () const |
vtkPixelExtent & | GetDestinationWholeExtent () |
const vtkPixelExtent & | GetDestinationWholeExtent () const |
vtkPixelExtent & | GetDestinationExtent () |
const vtkPixelExtent & | GetDestinationExtent () const |
int | GetTransactionId () const |
int | GetUseBlockingSend () const |
void | SetUseBlockingRecv (int val) |
int | GetUseBlockingRecv () const |
vtkPPixelTransfer (int srcRank, const vtkPixelExtent &srcWholeExt, const vtkPixelExtent &srcExt, int destRank, const vtkPixelExtent &destWholeExt, const vtkPixelExtent &destExt, int id=0) | |
vtkPPixelTransfer (int srcRank, const vtkPixelExtent &srcWholeExt, const vtkPixelExtent &targetExt, int destRank, const vtkPixelExtent &destWholeExt, int id) | |
vtkPPixelTransfer (int srcRank, int destRank, const vtkPixelExtent &wholeExt, const vtkPixelExtent &targetExt, int id=0) | |
vtkPPixelTransfer (int srcRank, int destRank, const vtkPixelExtent &ext, int id=0) | |
vtkPPixelTransfer (int srcRank, const vtkPixelExtent &srcWholeExt, int destRank, const vtkPixelExtent &destWholeExt, int id=0) | |
vtkPPixelTransfer (const vtkPixelExtent &srcWholeExt, const vtkPixelExtent &srcExt, const vtkPixelExtent &destWholeExt, const vtkPixelExtent &destExt) | |
void | SetSourceRank (int rank) |
bool | Sender (int rank) const |
bool | Receiver (int rank) const |
bool | Local (int rank) const |
void | SetSourceWholeExtent (vtkPixelExtent &srcExt) |
void | SetSourceExtent (vtkPixelExtent &srcExt) |
void | SetDestinationWholeExtent (vtkPixelExtent &destExt) |
void | SetDestinationExtent (vtkPixelExtent &destExt) |
void | SetTransactionId (int id) |
void | SetUseBlockingSend (int val) |
template<typename SOURCE_TYPE , typename DEST_TYPE > | |
int | Execute (MPI_Comm comm, int rank, int nComps, SOURCE_TYPE *srcData, DEST_TYPE *destData, std::vector< MPI_Request > &reqs, std::deque< MPI_Datatype > &types, int tag) |
int | Execute (MPI_Comm comm, int rank, int nComps, int srcType, void *srcData, int destType, void *destData, std::vector< MPI_Request > &reqs, std::deque< MPI_Datatype > &types, int tag) |
int | Blit (int nComps, int srcType, void *srcData, int destType, void *destData) |
class to handle inter-process communication of pixel data from non-contiguous regions of a shared index space. For example copying a subset of one image to a subset of another. The class can be used for purely local(no MPI) non-contigious data transfers by setting the source and destination ranks to the same id. In that case memcpy is used.
Definition at line 46 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | ) | [inline] |
Definition at line 49 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | int | srcRank, |
const vtkPixelExtent & | srcWholeExt, | ||
const vtkPixelExtent & | srcExt, | ||
int | destRank, | ||
const vtkPixelExtent & | destWholeExt, | ||
const vtkPixelExtent & | destExt, | ||
int | id = 0 |
||
) | [inline] |
Initialize a transaction from sub extent of source to sub extent of dest, where the subsets are different.
Definition at line 60 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | int | srcRank, |
const vtkPixelExtent & | srcWholeExt, | ||
const vtkPixelExtent & | targetExt, | ||
int | destRank, | ||
const vtkPixelExtent & | destWholeExt, | ||
int | id | ||
) | [inline] |
Initialize a transaction from sub extent of source to sub extent of dest, where the subsets are the same.
Definition at line 84 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | int | srcRank, |
int | destRank, | ||
const vtkPixelExtent & | wholeExt, | ||
const vtkPixelExtent & | targetExt, | ||
int | id = 0 |
||
) | [inline] |
Initialize a transaction from sub extent of source to sub extent of dest, both the whole and the subsets are the same.
Definition at line 107 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | int | srcRank, |
int | destRank, | ||
const vtkPixelExtent & | ext, | ||
int | id = 0 |
||
) | [inline] |
Initialize a transaction from sub extent of source to sub extent of dest, both the whole and the subsets are the same.
Definition at line 129 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | int | srcRank, |
const vtkPixelExtent & | srcWholeExt, | ||
int | destRank, | ||
const vtkPixelExtent & | destWholeExt, | ||
int | id = 0 |
||
) | [inline] |
Initialize a transaction from whole extent of source to whole extent of dest, where source and destination have different whole extents.
Definition at line 150 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::vtkPPixelTransfer | ( | const vtkPixelExtent & | srcWholeExt, |
const vtkPixelExtent & | srcExt, | ||
const vtkPixelExtent & | destWholeExt, | ||
const vtkPixelExtent & | destExt | ||
) | [inline] |
Initialize a transaction from sub extent of source to sub extent of dest, where the subsets are different. This is a local operation there will be no communication.
Definition at line 173 of file vtkPPixelTransfer.h.
vtkPPixelTransfer::~vtkPPixelTransfer | ( | ) | [inline] |
Definition at line 191 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetSourceRank | ( | int | rank | ) | [inline] |
Set/Get the MPI rank of source and destination processes.
Definition at line 195 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::GetSourceRank | ( | ) | const [inline] |
Definition at line 199 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetDestinationRank | ( | int | rank | ) | [inline] |
Definition at line 202 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::GetDestinationRank | ( | ) | const [inline] |
Definition at line 205 of file vtkPPixelTransfer.h.
bool vtkPPixelTransfer::Sender | ( | int | rank | ) | const [inline] |
Tests to determine a given rank's role in this transaction. If both Sender and Receiver are true then the operation is local and no mpi calls are made.
Definition at line 212 of file vtkPPixelTransfer.h.
bool vtkPPixelTransfer::Receiver | ( | int | rank | ) | const [inline] |
Tests to determine a given rank's role in this transaction. If both Sender and Receiver are true then the operation is local and no mpi calls are made.
Definition at line 213 of file vtkPPixelTransfer.h.
bool vtkPPixelTransfer::Local | ( | int | rank | ) | const [inline] |
Tests to determine a given rank's role in this transaction. If both Sender and Receiver are true then the operation is local and no mpi calls are made.
Definition at line 214 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetSourceWholeExtent | ( | vtkPixelExtent & | srcExt | ) | [inline] |
Set/Get the source extent. This is the extent of the array that data will be coppied from.
Definition at line 221 of file vtkPPixelTransfer.h.
vtkPixelExtent& vtkPPixelTransfer::GetSourceWholeExtent | ( | ) | [inline] |
Definition at line 225 of file vtkPPixelTransfer.h.
const vtkPixelExtent& vtkPPixelTransfer::GetSourceWholeExtent | ( | ) | const [inline] |
Definition at line 228 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetSourceExtent | ( | vtkPixelExtent & | srcExt | ) | [inline] |
Set/Get the source extent. This is the subset extent in the array that data will be coppied from.
Definition at line 234 of file vtkPPixelTransfer.h.
vtkPixelExtent& vtkPPixelTransfer::GetSourceExtent | ( | ) | [inline] |
Definition at line 238 of file vtkPPixelTransfer.h.
const vtkPixelExtent& vtkPPixelTransfer::GetSourceExtent | ( | ) | const [inline] |
Definition at line 241 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetDestinationWholeExtent | ( | vtkPixelExtent & | destExt | ) | [inline] |
Set/get the destination extent. This is the extent of array that will recveive the data.
Definition at line 247 of file vtkPPixelTransfer.h.
vtkPixelExtent& vtkPPixelTransfer::GetDestinationWholeExtent | ( | ) | [inline] |
Definition at line 251 of file vtkPPixelTransfer.h.
const vtkPixelExtent& vtkPPixelTransfer::GetDestinationWholeExtent | ( | ) | const [inline] |
Definition at line 254 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetDestinationExtent | ( | vtkPixelExtent & | destExt | ) | [inline] |
Set/get the destination extent. This is the subset extent in the array that will recveive the data.
Definition at line 260 of file vtkPPixelTransfer.h.
vtkPixelExtent& vtkPPixelTransfer::GetDestinationExtent | ( | ) | [inline] |
Definition at line 264 of file vtkPPixelTransfer.h.
const vtkPixelExtent& vtkPPixelTransfer::GetDestinationExtent | ( | ) | const [inline] |
Definition at line 267 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetTransactionId | ( | int | id | ) | [inline] |
Set/get the transaction id.
Definition at line 272 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::GetTransactionId | ( | ) | const [inline] |
Definition at line 276 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetUseBlockingSend | ( | int | val | ) | [inline] |
Enable/diasable non-blocking communication
Definition at line 281 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::GetUseBlockingSend | ( | ) | const [inline] |
Definition at line 285 of file vtkPPixelTransfer.h.
void vtkPPixelTransfer::SetUseBlockingRecv | ( | int | val | ) | [inline] |
Definition at line 288 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::GetUseBlockingRecv | ( | ) | const [inline] |
Definition at line 291 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::Execute | ( | MPI_Comm | comm, |
int | rank, | ||
int | nComps, | ||
SOURCE_TYPE * | srcData, | ||
DEST_TYPE * | destData, | ||
std::vector< MPI_Request > & | reqs, | ||
std::deque< MPI_Datatype > & | types, | ||
int | tag | ||
) |
Transfer data from source to destination.
Definition at line 393 of file vtkPPixelTransfer.h.
int vtkPPixelTransfer::Execute | ( | MPI_Comm | comm, |
int | rank, | ||
int | nComps, | ||
int | srcType, | ||
void * | srcData, | ||
int | destType, | ||
void * | destData, | ||
std::vector< MPI_Request > & | reqs, | ||
std::deque< MPI_Datatype > & | types, | ||
int | tag | ||
) |
Transfer data from source to destination. convenience for working with vtk data type enum rather than c types.
int vtkPPixelTransfer::Blit | ( | int | nComps, |
int | srcType, | ||
void * | srcData, | ||
int | destType, | ||
void * | destData | ||
) |
Block transfer for local memory to memory transfers, without using mpi.