NeoPZ
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
parallel_assemble_task_t< TVar > Class Template Reference

Iterações do laço podem ser executadas em paralelo.
. More...

Collaboration diagram for parallel_assemble_task_t< TVar >:
[legend]

Classes

struct  work_item_t
 

Public Member Functions

 parallel_assemble_task_t (TPZAutoPointer< TPZDohrAssembly< TVar > > assembly, TPZAutoPointer< TPZCompMesh > mesh)
 
void push_work_item (unsigned submesh_idx, const TPZAutoPointer< TPZDohrSubstructCondense< TVar > > &substruct)
 
void run_serial ()
 
void push_work_item (TPZCompEl *el)
 
void run_serial ()
 
 parallel_assemble_task_t (TPZStructMatrix *strmat, int _mineq, int _maxeq, TPZMatrix< STATE > *_first, TPZMatrix< STATE > *_second, TPZFMatrix< STATE > &_rhs, TPZVec< int > &permuteScatter)
 

Public Attributes

TPZMatrix< STATE > * first
 
TPZMatrix< STATE > * second
 
TPZFMatrix< STATE > & rhs
 
TPZVec< int > & fPermuteScatter
 
TPZStructMatrixfStrMatrix
 

Private Member Functions

void PermuteScatter (TPZVec< int > &index)
 

Private Attributes

std::vector< work_item_t< TVar > > work_items
 
TPZAutoPointer< TPZDohrAssembly< TVar > > fAssembly
 
TPZAutoPointer< TPZCompMeshfMesh
 
std::vector< TPZCompEl * > work_items
 

Detailed Description

template<class TVar>
class parallel_assemble_task_t< TVar >

Iterações do laço podem ser executadas em paralelo.
.

Definition at line 284 of file pzdohrstructmatrix.cpp.

Constructor & Destructor Documentation

◆ parallel_assemble_task_t() [1/2]

template<class TVar>
parallel_assemble_task_t< TVar >::parallel_assemble_task_t ( TPZAutoPointer< TPZDohrAssembly< TVar > >  assembly,
TPZAutoPointer< TPZCompMesh mesh 
)
inline

Definition at line 315 of file pzdohrstructmatrix.cpp.

◆ parallel_assemble_task_t() [2/2]

template<class TVar>
parallel_assemble_task_t< TVar >::parallel_assemble_task_t ( TPZStructMatrix strmat,
int  _mineq,
int  _maxeq,
TPZMatrix< STATE > *  _first,
TPZMatrix< STATE > *  _second,
TPZFMatrix< STATE > &  _rhs,
TPZVec< int > &  permuteScatter 
)
inline

Member Function Documentation

◆ PermuteScatter()

template<class TVar>
void parallel_assemble_task_t< TVar >::PermuteScatter ( TPZVec< int > &  index)
inlineprivate

◆ push_work_item() [1/2]

template<class TVar>
void parallel_assemble_task_t< TVar >::push_work_item ( TPZCompEl el)
inline

◆ push_work_item() [2/2]

template<class TVar>
void parallel_assemble_task_t< TVar >::push_work_item ( unsigned  submesh_idx,
const TPZAutoPointer< TPZDohrSubstructCondense< TVar > > &  substruct 
)
inline

Add a new work item to be list.

Definition at line 320 of file pzdohrstructmatrix.cpp.

Referenced by TPZDohrStructMatrix::AssembleTBB().

◆ run_serial() [1/2]

template<class TVar>
void parallel_assemble_task_t< TVar >::run_serial ( )
inline

◆ run_serial() [2/2]

template<class TVar>
void parallel_assemble_task_t< TVar >::run_serial ( )
inline

Member Data Documentation

◆ fAssembly

template<class TVar>
TPZAutoPointer<TPZDohrAssembly<TVar> > parallel_assemble_task_t< TVar >::fAssembly
private

Definition at line 310 of file pzdohrstructmatrix.cpp.

◆ first

template<class TVar>
TPZMatrix<STATE>* parallel_assemble_task_t< TVar >::first

Definition at line 400 of file tpzpairstructmatrix.cpp.

◆ fMesh

template<class TVar>
TPZAutoPointer<TPZCompMesh> parallel_assemble_task_t< TVar >::fMesh
private

Definition at line 311 of file pzdohrstructmatrix.cpp.

◆ fPermuteScatter

template<class TVar>
TPZVec<int>& parallel_assemble_task_t< TVar >::fPermuteScatter

Definition at line 403 of file tpzpairstructmatrix.cpp.

◆ fStrMatrix

template<class TVar>
TPZStructMatrix* parallel_assemble_task_t< TVar >::fStrMatrix

Definition at line 404 of file tpzpairstructmatrix.cpp.

◆ rhs

template<class TVar>
TPZFMatrix<STATE>& parallel_assemble_task_t< TVar >::rhs

Definition at line 402 of file tpzpairstructmatrix.cpp.

◆ second

template<class TVar>
TPZMatrix<STATE>* parallel_assemble_task_t< TVar >::second

Definition at line 401 of file tpzpairstructmatrix.cpp.

◆ work_items [1/2]

template<class TVar>
std::vector<TPZCompEl*> parallel_assemble_task_t< TVar >::work_items
private

Array of work items.

Definition at line 271 of file tpzpairstructmatrix.cpp.

◆ work_items [2/2]

template<class TVar>
std::vector<work_item_t<TVar> > parallel_assemble_task_t< TVar >::work_items
private

Array of work items.

Definition at line 305 of file pzdohrstructmatrix.cpp.


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