STAPL API Reference |
Modules Classes |
Support functions and classes for threads and mixed-mode for the Runtime System. More...
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. |