NeoPZ
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
TPZFront< TVar >::STensorProductMTData Struct Reference

struct para paralelizar a decomposicao da matriz More...

#include <TPZFront.h>

Collaboration diagram for TPZFront< TVar >::STensorProductMTData:
[legend]

Public Types

typedef std::pair< int, STensorProductMTData *> STensorProductThreadData
 

Public Member Functions

int NThreads ()
 num threads More...
 
 STensorProductMTData (int nthreads, TPZFront< TVar > *frontMat)
 construtor padrao More...
 
 ~STensorProductMTData ()
 construtor More...
 
void WorkDone ()
 
void Run (TPZVec< TVar > &AuxVecCol, TPZVec< TVar > &AuxVecRow)
 

Static Public Member Functions

static void * Execute (void *data)
 destrutor More...
 

Public Attributes

pz_semaphore_t fWorkDoneSem
 dados para sincronizar o thread principal More...
 
int fWorkDoneCount
 
pz_critical_section_t fWorkDoneCS
 
TPZVec< pz_semaphore_tfWorkSem
 semaforos para sincronizar os threads de calculo More...
 
TPZVec< pz_thread_tfThreads
 array de threads More...
 
TPZVec< TVar > * fAuxVecCol
 vetores de operacao More...
 
TPZVec< TVar > * fAuxVecRow
 
TVar fDiagonal
 valor da diagonal More...
 
TPZVec< STensorProductThreadData * > fThreadData
 
TPZFront< TVar > * fMat
 matriz TPZFront More...
 
bool fRunning
 

Detailed Description

template<class TVar>
struct TPZFront< TVar >::STensorProductMTData

struct para paralelizar a decomposicao da matriz

Definition at line 178 of file TPZFront.h.

Member Typedef Documentation

◆ STensorProductThreadData

template<class TVar>
typedef std::pair<int,STensorProductMTData * > TPZFront< TVar >::STensorProductMTData::STensorProductThreadData

Definition at line 180 of file TPZFront.h.

Constructor & Destructor Documentation

◆ STensorProductMTData()

template<class TVar>
TPZFront< TVar >::STensorProductMTData::STensorProductMTData ( int  nthreads,
TPZFront< TVar > *  frontMat 
)
inline

◆ ~STensorProductMTData()

template<class TVar>
TPZFront< TVar >::STensorProductMTData::~STensorProductMTData ( )
inline

construtor

destrutor

finalizando a execucao dos threads

desalocando objetos, exceto threads que, ao menos no embarcadero, morrem sozinhos

Definition at line 239 of file TPZFront.h.

References tht::DeleteCriticalSection(), tht::DeleteSemaphore(), TPZVec< T >::NElements(), nthreads, tht::SemaphorePost(), and tht::ThreadWaitFor().

Member Function Documentation

◆ Execute()

template<class TVar>
static void* TPZFront< TVar >::STensorProductMTData::Execute ( void *  data)
inlinestatic

◆ NThreads()

template<class TVar>
int TPZFront< TVar >::STensorProductMTData::NThreads ( )
inline

◆ Run()

template<class TVar>
void TPZFront< TVar >::STensorProductMTData::Run ( TPZVec< TVar > &  AuxVecCol,
TPZVec< TVar > &  AuxVecRow 
)
inline

◆ WorkDone()

template<class TVar>
void TPZFront< TVar >::STensorProductMTData::WorkDone ( )
inline

Member Data Documentation

◆ fAuxVecCol

template<class TVar>
TPZVec<TVar>* TPZFront< TVar >::STensorProductMTData::fAuxVecCol

vetores de operacao

Definition at line 196 of file TPZFront.h.

Referenced by TPZFrontSym< TVar >::TensorProductIJ(), and TPZFrontNonSym< TVar >::TensorProductIJ().

◆ fAuxVecRow

template<class TVar>
TPZVec<TVar> * TPZFront< TVar >::STensorProductMTData::fAuxVecRow

◆ fDiagonal

template<class TVar>
TVar TPZFront< TVar >::STensorProductMTData::fDiagonal

valor da diagonal

Definition at line 199 of file TPZFront.h.

Referenced by TPZFrontSym< TVar >::TensorProductIJ().

◆ fMat

template<class TVar>
TPZFront<TVar>* TPZFront< TVar >::STensorProductMTData::fMat

matriz TPZFront

Definition at line 208 of file TPZFront.h.

Referenced by TPZFrontSym< TVar >::TensorProductIJ().

◆ fRunning

template<class TVar>
bool TPZFront< TVar >::STensorProductMTData::fRunning

◆ fThreadData

template<class TVar>
TPZVec<STensorProductThreadData*> TPZFront< TVar >::STensorProductMTData::fThreadData

Definition at line 202 of file TPZFront.h.

Referenced by TPZFront< TVar >::STensorProductMTData::NThreads().

◆ fThreads

template<class TVar>
TPZVec< pz_thread_t > TPZFront< TVar >::STensorProductMTData::fThreads

array de threads

Definition at line 193 of file TPZFront.h.

◆ fWorkDoneCount

template<class TVar>
int TPZFront< TVar >::STensorProductMTData::fWorkDoneCount

Definition at line 186 of file TPZFront.h.

◆ fWorkDoneCS

template<class TVar>
pz_critical_section_t TPZFront< TVar >::STensorProductMTData::fWorkDoneCS

Definition at line 187 of file TPZFront.h.

◆ fWorkDoneSem

template<class TVar>
pz_semaphore_t TPZFront< TVar >::STensorProductMTData::fWorkDoneSem

dados para sincronizar o thread principal

Definition at line 185 of file TPZFront.h.

◆ fWorkSem

template<class TVar>
TPZVec<pz_semaphore_t> TPZFront< TVar >::STensorProductMTData::fWorkSem

semaforos para sincronizar os threads de calculo

Definition at line 190 of file TPZFront.h.

Referenced by TPZFrontSym< TVar >::TensorProductIJ(), and TPZFrontNonSym< TVar >::TensorProductIJ().


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