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> |
| 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> | |
| using | ReverseAtomic = T_ReverseAtomic<Type> |
| See codi::ParallelToolbox. | |
| 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_ReverseAtomic | Reverse atomic implementation used by the toolbox. See codi::ReverseAtomicInterface. |
| 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_ReverseAtomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization >::Atomic = T_Atomic<Type> |
| using codi::ParallelToolbox< T_ThreadInformation, T_Atomic, T_ReverseAtomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization >::StaticThreadLocalPointer |