Collects parallel programming facilties required to make CoDiPack applicable in a shared memory parallel environment. More...
#include <parallelToolbox.hpp>
Public Types | |
template<typename Type > | |
using | Atomic = T_Atomic<Type> |
See codi::ParallelToolbox. | |
using | Lock = codi::Lock<Mutex> |
See codi::Lock. | |
using | LockForRead = codi::LockForRead<ReadWriteMutex> |
See codi::LockForRead. | |
using | LockForWrite = codi::LockForWrite<ReadWriteMutex> |
See codi::LockForWrite. | |
using | Mutex = T_Mutex |
See codi::ParallelToolbox. | |
using | ReadWriteMutex = codi::ReadWriteMutex<ThreadInformation, Atomic<int>> |
See codi::ReadWriteMutex. | |
template<typename Type , typename Owner > | |
using | StaticThreadLocalPointer |
See codi::StaticThreadLocalPointerInterface. | |
using | Synchronization = T_Synchronization |
See codi::ParallelToolbox. | |
using | ThreadInformation = T_ThreadInformation |
See codi::ParallelToolbox. | |
Collects parallel programming facilties required to make CoDiPack applicable in a shared memory parallel environment.
The parallel programming facilities provided as template parameters have to be implemented against a specific shared memory parallelism API, e.g., OpenMP. This class redeclares them and provides further derived types. CoDiPack uses a ParallelToolbox for defining thread-safe active types and tapes while abstracting away the details of the specific underlying shared memory parallelism API.
Please refer to the individual using declarations for documentation.
T_ThreadInformation | Thread information used by the toolbox. See codi::ThreadInformationInterface. |
T_Atomic | Atomic implementation used by the toolbox. See codi::AtomicInterface. |
T_Mutex | Mutex implementation used by the toolbox. See codi::MutexInterface. |
T_StaticThreadLocalPointer | Static thread-local pointer implementation used by the toolbox. See codi::StaticThreadLocalPointerInterface. |
T_Synchronization | Synchronization facalities that comply with the toolbox. See codi::SynchronizationInterface. |
using codi::ParallelToolbox< T_ThreadInformation, T_Atomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization >::StaticThreadLocalPointer |