NeoPZ
Public Member Functions | Private Attributes | List of all members
ParallelAssembleTaskMatrix< TVar, TSubStruct > Class Template Reference
Collaboration diagram for ParallelAssembleTaskMatrix< TVar, TSubStruct >:
[legend]

Public Member Functions

 ParallelAssembleTaskMatrix (const TPZFMatrix< TVar > &x, TVar alpha, TPZAutoPointer< TPZDohrAssembly< TVar > > assembly, TPZAutoPointer< TPZDohrAssembleList< TVar > > &assemblestruct)
 Constructor. More...
 
void addWorkItem (TPZDohrThreadMultData< TSubStruct > data)
 Add a new work item to the array. More...
 

Private Attributes

std::vector< TPZDohrThreadMultData< TSubStruct > > mWorkItems
 Array of work items. More...
 
const TPZFMatrix< TVar > * fInput
 The vector with which we will multiply. More...
 
TVar fAlpha
 Scalar multiplication factor. More...
 
pthread_mutex_t fAccessLock
 Mutex which will enable the access protection of the list. More...
 
TPZAutoPointer< TPZDohrAssembly< TVar > > fAssembly
 The data structure which defines the assemble destinations. More...
 
std::list< TPZDohrThreadMultData< TSubStruct > > fWork
 The list of data objects which need to treated by the threads. More...
 
TPZAutoPointer< TPZDohrAssembleList< TVar > > fAssemblyStructure
 The local contribution to the v2 vector. More...
 

Detailed Description

template<class TVar, class TSubStruct>
class ParallelAssembleTaskMatrix< TVar, TSubStruct >

Threading Building Blocks

Definition at line 46 of file tpzdohrmatrix.cpp.

Constructor & Destructor Documentation

◆ ParallelAssembleTaskMatrix()

template<class TVar , class TSubStruct >
ParallelAssembleTaskMatrix< TVar, TSubStruct >::ParallelAssembleTaskMatrix ( const TPZFMatrix< TVar > &  x,
TVar  alpha,
TPZAutoPointer< TPZDohrAssembly< TVar > >  assembly,
TPZAutoPointer< TPZDohrAssembleList< TVar > > &  assemblestruct 
)
inline

Constructor.

Definition at line 70 of file tpzdohrmatrix.cpp.

Member Function Documentation

◆ addWorkItem()

template<class TVar , class TSubStruct >
void ParallelAssembleTaskMatrix< TVar, TSubStruct >::addWorkItem ( TPZDohrThreadMultData< TSubStruct >  data)
inline

Member Data Documentation

◆ fAccessLock

template<class TVar , class TSubStruct >
pthread_mutex_t ParallelAssembleTaskMatrix< TVar, TSubStruct >::fAccessLock
private

Mutex which will enable the access protection of the list.

Definition at line 57 of file tpzdohrmatrix.cpp.

◆ fAlpha

template<class TVar , class TSubStruct >
TVar ParallelAssembleTaskMatrix< TVar, TSubStruct >::fAlpha
private

Scalar multiplication factor.

Definition at line 55 of file tpzdohrmatrix.cpp.

◆ fAssembly

template<class TVar , class TSubStruct >
TPZAutoPointer<TPZDohrAssembly<TVar> > ParallelAssembleTaskMatrix< TVar, TSubStruct >::fAssembly
private

The data structure which defines the assemble destinations.

Definition at line 59 of file tpzdohrmatrix.cpp.

◆ fAssemblyStructure

template<class TVar , class TSubStruct >
TPZAutoPointer<TPZDohrAssembleList<TVar> > ParallelAssembleTaskMatrix< TVar, TSubStruct >::fAssemblyStructure
private

The local contribution to the v2 vector.

Definition at line 63 of file tpzdohrmatrix.cpp.

◆ fInput

template<class TVar , class TSubStruct >
const TPZFMatrix<TVar>* ParallelAssembleTaskMatrix< TVar, TSubStruct >::fInput
private

The vector with which we will multiply.

Definition at line 53 of file tpzdohrmatrix.cpp.

◆ fWork

template<class TVar , class TSubStruct >
std::list<TPZDohrThreadMultData<TSubStruct> > ParallelAssembleTaskMatrix< TVar, TSubStruct >::fWork
private

The list of data objects which need to treated by the threads.

Definition at line 61 of file tpzdohrmatrix.cpp.

◆ mWorkItems

template<class TVar , class TSubStruct >
std::vector<TPZDohrThreadMultData<TSubStruct> > ParallelAssembleTaskMatrix< TVar, TSubStruct >::mWorkItems
private

Array of work items.

Definition at line 50 of file tpzdohrmatrix.cpp.


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