NeoPZ
|
Iterações do laço podem ser executadas em paralelo.
.
More...
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 |
TPZStructMatrix * | fStrMatrix |
Private Member Functions | |
void | PermuteScatter (TPZVec< int > &index) |
Private Attributes | |
std::vector< work_item_t< TVar > > | work_items |
TPZAutoPointer< TPZDohrAssembly< TVar > > | fAssembly |
TPZAutoPointer< TPZCompMesh > | fMesh |
std::vector< TPZCompEl * > | work_items |
Iterações do laço podem ser executadas em paralelo.
.
Definition at line 284 of file pzdohrstructmatrix.cpp.
|
inline |
Definition at line 315 of file pzdohrstructmatrix.cpp.
|
inline |
Definition at line 406 of file tpzpairstructmatrix.cpp.
References TPZStructMatrixBase::SetEquationRange(), and tbb_pair_pipe_tokens.
|
inlineprivate |
Definition at line 260 of file tpzpairstructmatrix.cpp.
References TPZPairStructMatrix::fPermuteScatter, and TPZVec< T >::NElements().
|
inline |
Add a new work item to be list.
Definition at line 283 of file tpzpairstructmatrix.cpp.
References TPZElementMatrix::ApplyConstraints(), TPZCompEl::CalcStiff(), TPZElementMatrix::ComputeDestinationIndices(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZElementMatrix::fConstrMat, TPZElementMatrix::fDestinationIndex, TPZStructMatrixBase::FilterEquations(), substruct_tst15.test::first, TPZElementMatrix::fMat, TPZElementMatrix::fSourceIndex, TPZCompEl::HasDependency(), pz::parallel_for(), and TPZPairStructMatrix::PermuteScatter().
|
inline |
Add a new work item to be list.
Definition at line 320 of file pzdohrstructmatrix.cpp.
Referenced by TPZDohrStructMatrix::AssembleTBB().
|
inline |
Execute work items serially.
Definition at line 326 of file pzdohrstructmatrix.cpp.
References AssembleMatrices(), DecomposeBig(), DecomposeInternal(), parallel_assemble_task_t< TVar >::work_item_t< TTVar >::fSubMeshIndex, parallel_assemble_task_t< TVar >::work_item_t< TTVar >::fSubstruct, pz::parallel_for(), and SubMesh().
Referenced by TPZDohrStructMatrix::AssembleTBB().
|
inline |
Execute work items serially.
Definition at line 358 of file tpzpairstructmatrix.cpp.
References TPZCompEl::CalcStiff(), TPZElementMatrix::EF, TPZElementMatrix::EK, TPZStructMatrixBase::FilterEquations(), substruct_tst15.test::first, TPZPairStructMatrix::fStrMatrix, TPZCompEl::HasDependency(), TPZStructMatrixBase::Mesh(), and TPZPairStructMatrix::PermuteScatter().
|
private |
Definition at line 310 of file pzdohrstructmatrix.cpp.
TPZMatrix<STATE>* parallel_assemble_task_t< TVar >::first |
Definition at line 400 of file tpzpairstructmatrix.cpp.
|
private |
Definition at line 311 of file pzdohrstructmatrix.cpp.
TPZVec<int>& parallel_assemble_task_t< TVar >::fPermuteScatter |
Definition at line 403 of file tpzpairstructmatrix.cpp.
TPZStructMatrix* parallel_assemble_task_t< TVar >::fStrMatrix |
Definition at line 404 of file tpzpairstructmatrix.cpp.
TPZFMatrix<STATE>& parallel_assemble_task_t< TVar >::rhs |
Definition at line 402 of file tpzpairstructmatrix.cpp.
TPZMatrix<STATE>* parallel_assemble_task_t< TVar >::second |
Definition at line 401 of file tpzpairstructmatrix.cpp.
|
private |
Array of work items.
Definition at line 271 of file tpzpairstructmatrix.cpp.
|
private |
Array of work items.
Definition at line 305 of file pzdohrstructmatrix.cpp.