Public Member Functions | List of all members
vtkMaterialInterfacePieceTransactionMatrix Class Reference

Container to hold a sets of transactions (sends/recvs) indexed by fragment and proc, intended to facilitate moving fragment pieces around. More...

#include <vtkMaterialInterfacePieceTransactionMatrix.h>

Public Member Functions

 vtkMaterialInterfacePieceTransactionMatrix ()
 Set the object to an un-initialized state. More...
 
 vtkMaterialInterfacePieceTransactionMatrix (int nFragments, int nProcs)
 Allocate internal resources and set the object to an initialized state. More...
 
void Clear ()
 Free allocated resources and leave the object in an un-initialized state. More...
 
vtkIdType GetNumberOfTransactions (int procId)
 Get the number of transaction a given process will execute. More...
 
std::vector< vtkMaterialInterfacePieceTransaction > & GetTransactions (int fragmentId, int procId)
 Given a proc and a fragment, return a ref to the associated list of transactions. More...
 
void PushTransaction (int fragmentId, int procId, vtkMaterialInterfacePieceTransaction &transaction)
 Add a transaction to the end of the given a proc,fragment pair's transaction list. More...
 
vtkIdType Capacity ()
 Tells how much memory the matrix has allocated. More...
 
 ~vtkMaterialInterfacePieceTransactionMatrix ()
 Free allocated resources and leave the object in an un-initialized state. More...
 
void Initialize (int nProcs, int nFragments)
 Free allocated resources and leave the object in an un-initialized state. More...
 
void Broadcast (vtkCommunicator *comm, int srcProc)
 Send the transaction matrix on srcProc to all other procs. More...
 
void Print ()
 Send the transaction matrix on srcProc to all other procs. More...
 

Detailed Description

Container to hold a sets of transactions (sends/recvs) indexed by fragment and proc, intended to facilitate moving fragment pieces around.

Internally we have a 2D matrix. On one axis is fragment id on the other is proc id.

Transaction are intended to execute in fragment order so that no deadlocks occur.

Definition at line 39 of file vtkMaterialInterfacePieceTransactionMatrix.h.

Constructor & Destructor Documentation

◆ vtkMaterialInterfacePieceTransactionMatrix() [1/2]

vtkMaterialInterfacePieceTransactionMatrix::vtkMaterialInterfacePieceTransactionMatrix ( )

Set the object to an un-initialized state.

◆ vtkMaterialInterfacePieceTransactionMatrix() [2/2]

vtkMaterialInterfacePieceTransactionMatrix::vtkMaterialInterfacePieceTransactionMatrix ( int  nFragments,
int  nProcs 
)

Allocate internal resources and set the object to an initialized state.

◆ ~vtkMaterialInterfacePieceTransactionMatrix()

vtkMaterialInterfacePieceTransactionMatrix::~vtkMaterialInterfacePieceTransactionMatrix ( )

Free allocated resources and leave the object in an un-initialized state.

Member Function Documentation

◆ Initialize()

void vtkMaterialInterfacePieceTransactionMatrix::Initialize ( int  nProcs,
int  nFragments 
)

Free allocated resources and leave the object in an un-initialized state.

◆ Clear()

void vtkMaterialInterfacePieceTransactionMatrix::Clear ( )

Free allocated resources and leave the object in an un-initialized state.

◆ GetNumberOfTransactions()

vtkIdType vtkMaterialInterfacePieceTransactionMatrix::GetNumberOfTransactions ( int  procId)
inline

Get the number of transaction a given process will execute.

Definition at line 133 of file vtkMaterialInterfacePieceTransactionMatrix.h.

◆ GetTransactions()

std::vector< vtkMaterialInterfacePieceTransaction > & vtkMaterialInterfacePieceTransactionMatrix::GetTransactions ( int  fragmentId,
int  procId 
)
inline

Given a proc and a fragment, return a ref to the associated list of transactions.

Definition at line 127 of file vtkMaterialInterfacePieceTransactionMatrix.h.

◆ PushTransaction()

void vtkMaterialInterfacePieceTransactionMatrix::PushTransaction ( int  fragmentId,
int  procId,
vtkMaterialInterfacePieceTransaction transaction 
)

Add a transaction to the end of the given a proc,fragment pair's transaction list.

◆ Broadcast()

void vtkMaterialInterfacePieceTransactionMatrix::Broadcast ( vtkCommunicator comm,
int  srcProc 
)

Send the transaction matrix on srcProc to all other procs.

◆ Print()

void vtkMaterialInterfacePieceTransactionMatrix::Print ( )

Send the transaction matrix on srcProc to all other procs.

◆ Capacity()

vtkIdType vtkMaterialInterfacePieceTransactionMatrix::Capacity ( )
inline

Tells how much memory the matrix has allocated.

Definition at line 92 of file vtkMaterialInterfacePieceTransactionMatrix.h.


The documentation for this class was generated from the following file: