CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::ParallelToolbox< T_ThreadInformation, T_Atomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization > Struct Template Reference

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.
 

Detailed Description

template<typename T_ThreadInformation, template< typename > class T_Atomic, typename T_Mutex, template< typename, typename > class T_StaticThreadLocalPointer, typename T_Synchronization>
struct codi::ParallelToolbox< T_ThreadInformation, T_Atomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization >

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.

Template Parameters
T_ThreadInformationThread information used by the toolbox. See codi::ThreadInformationInterface.
T_AtomicAtomic implementation used by the toolbox. See codi::AtomicInterface.
T_MutexMutex implementation used by the toolbox. See codi::MutexInterface.
T_StaticThreadLocalPointerStatic thread-local pointer implementation used by the toolbox. See codi::StaticThreadLocalPointerInterface.
T_SynchronizationSynchronization facalities that comply with the toolbox. See codi::SynchronizationInterface.

Member Typedef Documentation

◆ StaticThreadLocalPointer

template<typename T_ThreadInformation , template< typename > class T_Atomic, typename T_Mutex , template< typename, typename > class T_StaticThreadLocalPointer, typename T_Synchronization >
template<typename Type , typename Owner >
using codi::ParallelToolbox< T_ThreadInformation, T_Atomic, T_Mutex, T_StaticThreadLocalPointer, T_Synchronization >::StaticThreadLocalPointer
Initial value:
T_StaticThreadLocalPointer<Type, Owner>

See codi::StaticThreadLocalPointerInterface.


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