| STAPL API Reference |
Modules Classes |
Support functions and classes for threads and mixed-mode for the Runtime System. More...
Collaboration diagram for Threading Support:Classes | |
| class | stapl::runtime::boost_impl::thread_local_storage< T > |
Implements thread-local storage using boost::thread_specific_ptr. More... | |
| class | stapl::runtime::concurrency |
| Initializes and controls threads for shared-memory concurrency. More... | |
| struct | stapl::runtime::data_race_helper |
| Helper class for detecting possible data races in a class static or stand-alone function. More... | |
| class | stapl::runtime::centralized_fuzzy_barrier |
| Centralized fuzzy barrier. More... | |
| class | stapl::runtime::generic_impl::fuzzy_barrier |
| Binary-tree based fuzzy barrier. More... | |
| class | stapl::runtime::generic_impl::queue< T > |
| A thread-safe queue. More... | |
| class | stapl::runtime::generic_impl::read_write_mutex |
| A generic, non-optimized implementation of a read-write mutex. More... | |
| class | stapl::runtime::generic_impl::thread_local_storage< T > |
Helper class for thread-local storage through C++11 thread_local. More... | |
| class | stapl::runtime::intrusive_mpsc_queue_hook |
| Hook for intrusive_mpsc_queue. More... | |
| class | stapl::runtime::intrusive_mpsc_queue< T > |
| An intrusive lock-free MPSC (multiple producer, single consumer) queue. More... | |
| class | stapl::runtime::thin_spin_mutex |
| Spin-based synchronization primitive that does not emit memory fences. More... | |
| class | stapl::runtime::hierarchical_mutex |
| Hierarchical synchronization primitive that does not emit memory fences. More... | |
| struct | stapl::runtime::read_lock_t |
| Tag type for read lock ownership. More... | |
| struct | stapl::runtime::write_lock_t |
| Tag type for write lock ownership. More... | |
| struct | stapl::runtime::read_lock_guard< Mutex > |
| Lock guard for read lock ownership. More... | |
| class | stapl::runtime::phtread_impl::read_write_mutex |
A read-write mutex based on pthread_rwlock_t. More... | |
| class | stapl::runtime::shared_object_factory< Key, Hash, KeyEqual > |
| Factory for creating object shared between threads. More... | |
| class | stapl::runtime::task_queue< R(Args...)> |
| A lock-free MPSC (multiple producer, single consumer) queue of tasks to be executed. More... | |
| class | stapl::runtime::tbb_impl::queue< T > |
A thread-safe queue using tbb::concurrent_queue. More... | |
| class | stapl::runtime::tbb_impl::read_write_mutex |
An implementation of a read-write mutex based on tbb::queueing_rw_mutex. More... | |
| class | stapl::runtime::tbb_impl::thread_local_storage< T > |
Implements thread-local storage using tbb::enumerable_thread_specific. More... | |
| struct | stapl::runtime::thread_info_t |
| Thread information. More... | |
Macros | |
| #define | STAPL_RUNTIME_THREAD_LOCAL(t, x) stapl::runtime::boost_impl::thread_local_storage<t> x; |
| Thread-local storage variable definition helper macro for stapl::runtime::boost_impl::thread_local_storage. | |
| #define | STAPL_RUNTIME_DETECT_DATA_RACE() |
| Detects data races in a class static or stand-alone function. More... | |
| #define | STAPL_RUNTIME_THREAD_LOCAL(T, n) thread_local stapl::runtime::generic_impl::thread_local_storage<T> n; |
| Thread-local storage variable definition helper macro for stapl::runtime::generic_impl::thread_local_storage. | |
| #define | STAPL_RUNTIME_THREAD_LOCAL(T, n) stapl::runtime::tbb_impl::thread_local_storage<T> n; |
| Thread-local storage variable definition helper macro for stapl::runtime::tbb_impl::thread_local_storage. | |
Functions | |
| static void | stapl::runtime::fork_impl (const unsigned int parent_tid, thread_info_t const &parent_info, const unsigned int end_level, const unsigned int af_offset, std::function< void(unsigned int)> f) |
| Recursive forking for implementing concurrency::fork(). More... | |
Variables | |
| constexpr read_lock_t | stapl::runtime::read_lock = { } |
| Tag for read lock ownership. | |
| constexpr write_lock_t | stapl::runtime::write_lock = { } |
| Tag for write lock ownership. | |
Support functions and classes for threads and mixed-mode for the Runtime System.
| #define STAPL_RUNTIME_DETECT_DATA_RACE | ( | ) |
Detects data races in a class static or stand-alone function.
|
static |
Recursive forking for implementing concurrency::fork().
| parent_tid | Parent thread id. |
| parent_info | Parent thread information. |
| end_level | Last required level. |
| af_offset | Affinity tag offset for the newly created threads. |
| f | Function to invoke at the end of the recursion. |
1.8.13