|
Nektar++
|
Classes | |
| class | ThreadJob |
| Base class for tasks to be sent to the ThreadManager to run. More... | |
| class | ThreadManager |
| The interface class for the controller for worker threads and jobs. More... | |
| class | ThreadMaster |
| class | ThreadStartupManager |
| A default ThreadManager. More... | |
| class | ThreadManagerBoost |
| Implementation of ThreadManager using Boost threads. More... | |
| class | ThreadWorkerBoost |
| Implementation class for ThreadManagerBoost. More... | |
Typedefs | |
| typedef std::shared_ptr< ThreadManager > | ThreadManagerSharedPtr |
| typedef LibUtilities::NekFactory< std::string, ThreadManager, unsigned int > | ThreadManagerFactory |
| typedef boost::unique_lock< boost::shared_mutex > | WriteLock |
| typedef boost::shared_lock< boost::shared_mutex > | ReadLock |
| typedef boost::unique_lock< boost::mutex > | Lock |
Enumerations | |
| enum | SchedType { e_guided , e_dynamic } |
| Identifies the algorithm for scheduling. More... | |
Functions | |
| ThreadManagerFactory & | GetThreadManagerFactory () |
| ThreadMaster & | GetThreadMaster () |
| typedef boost::unique_lock<boost::mutex> Nektar::Thread::Lock |
Definition at line 51 of file ThreadBoost.h.
| typedef boost::shared_lock<boost::shared_mutex> Nektar::Thread::ReadLock |
| typedef LibUtilities::NekFactory<std::string, ThreadManager, unsigned int> Nektar::Thread::ThreadManagerFactory |
| typedef std::shared_ptr<ThreadManager> Nektar::Thread::ThreadManagerSharedPtr |
| typedef boost::unique_lock<boost::shared_mutex> Nektar::Thread::WriteLock |
Identifies the algorithm for scheduling.
Currently there are two strategies to determine the number of jobs. e_static always loads m_chunkSize jobs onto each worker, e_guided uses a simple algorithm that loads a larger proportion of jobs onto the worker as the size of the queue list is large, but scales down to no fewer than m_chunkSize as the queue empties.
| Enumerator | |
|---|---|
| e_guided | |
| e_dynamic | |
Definition at line 65 of file Thread.h.
| ThreadManagerFactory & Nektar::Thread::GetThreadManagerFactory | ( | ) |
Definition at line 49 of file Thread.cpp.
Referenced by Nektar::Thread::ThreadMaster::CreateInstance().
| ThreadMaster & Nektar::Thread::GetThreadMaster | ( | ) |
Definition at line 132 of file Thread.cpp.