concurrency¶
#include <compatibility/hpx/util/spinlock_pool.hpp>
¶
#include <compatibility/hpx/util/itt_notify.hpp>
¶
#include <compatibility/hpx/util/spinlock.hpp>
¶
#include <compatibility/hpx/util/lockfree/freelist.hpp>
¶
#include <compatibility/hpx/util/lockfree/concurrentqueue.hpp>
¶
#include <compatibility/hpx/util/lockfree/deque.hpp>
¶
#include <compatibility/hpx/compat/barrier.hpp>
¶
#include <hpx/concurrency/thread_name.hpp>
¶
#include <hpx/concurrency/concurrentqueue.hpp>
¶
Defines
-
MOODYCAMEL_THREADLOCAL
¶
-
MOODYCAMEL_EXCEPTIONS_ENABLED
¶
-
MOODYCAMEL_TRY
¶
-
MOODYCAMEL_CATCH
(...)¶
-
MOODYCAMEL_RETHROW
¶
-
MOODYCAMEL_THROW
(expr)¶
-
MOODYCAMEL_NOEXCEPT
¶
-
MOODYCAMEL_NOEXCEPT_CTOR
(type, valueType, expr)¶
-
MOODYCAMEL_NOEXCEPT_ASSIGN
(type, valueType, expr)¶
-
MOODYCAMEL_DELETE_FUNCTION
¶
-
namespace
moodycamel
¶ Functions
-
template <typename T, typename Traits>
voidswap
(typename ConcurrentQueue<T, Traits>::ImplicitProducerKVP &a, typename ConcurrentQueue<T, Traits>::ImplicitProducerKVP &b)¶
-
template <typename T, typename Traits>
voidswap
(ConcurrentQueue<T, Traits> &a, ConcurrentQueue<T, Traits> &b)¶
-
void
swap
(ProducerToken &a, ProducerToken &b)¶
-
void
swap
(ConsumerToken &a, ConsumerToken &b)¶
-
template <typename T, typename Traits = ConcurrentQueueDefaultTraits>
classConcurrentQueue
¶ Public Types
-
typedef moodycamel::ProducerToken
producer_token_t
¶
-
typedef moodycamel::ConsumerToken
consumer_token_t
¶
-
typedef Traits::index_t
index_t
¶
-
typedef Traits::size_t
size_t
¶
Public Functions
-
ConcurrentQueue
(size_t capacity = 6 * BLOCK_SIZE)¶
-
~ConcurrentQueue
()¶
-
ConcurrentQueue
(ConcurrentQueue const&)¶
-
ConcurrentQueue &
operator=
(ConcurrentQueue const&)¶
-
ConcurrentQueue
(ConcurrentQueue &&other)¶
-
ConcurrentQueue &
operator=
(ConcurrentQueue &&other)¶
-
void
swap
(ConcurrentQueue &other)¶
-
bool
enqueue
(T const &item)¶
-
bool
enqueue
(T &&item)¶
-
bool
enqueue
(producer_token_t const &token, T const &item)¶
-
bool
enqueue
(producer_token_t const &token, T &&item)¶
-
template <typename It>
boolenqueue_bulk
(producer_token_t const &token, It itemFirst, size_t count)¶
-
bool
try_enqueue
(T const &item)¶
-
bool
try_enqueue
(T &&item)¶
-
bool
try_enqueue
(producer_token_t const &token, T const &item)¶
-
bool
try_enqueue
(producer_token_t const &token, T &&item)¶
-
template <typename It>
booltry_enqueue_bulk
(producer_token_t const &token, It itemFirst, size_t count)¶
-
template <typename U>
booltry_dequeue
(U &item)¶
-
template <typename U>
booltry_dequeue_non_interleaved
(U &item)¶
-
template <typename U>
booltry_dequeue
(consumer_token_t &token, U &item)¶
-
template <typename It>
size_ttry_dequeue_bulk
(consumer_token_t &token, It itemFirst, size_t max)¶
-
template <typename U>
booltry_dequeue_from_producer
(producer_token_t const &producer, U &item)¶
-
template <typename It>
size_ttry_dequeue_bulk_from_producer
(producer_token_t const &producer, It itemFirst, size_t max)¶
Public Static Functions
-
static bool
is_lock_free
()¶
Public Static Attributes
-
const size_t
EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD
= static_cast<size_t>(Traits::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD)¶
-
const size_t
EXPLICIT_INITIAL_INDEX_SIZE
= static_cast<size_t>(Traits::EXPLICIT_INITIAL_INDEX_SIZE)¶
-
const size_t
IMPLICIT_INITIAL_INDEX_SIZE
= static_cast<size_t>(Traits::IMPLICIT_INITIAL_INDEX_SIZE)¶
-
const size_t
INITIAL_IMPLICIT_PRODUCER_HASH_SIZE
= static_cast<size_t>(Traits::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE)¶
-
const std::uint32_t
EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE
= static_cast<std::uint32_t>(Traits::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE)¶
-
const size_t
MAX_SUBQUEUE_SIZE
= (details::const_numeric_max<size_t>::value - static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) < BLOCK_SIZE) ? details::const_numeric_max<size_t>::value : ((static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) + (BLOCK_SIZE - 1)) / BLOCK_SIZE * BLOCK_SIZE)¶
Private Types
Private Functions
-
ConcurrentQueue &
swap_internal
(ConcurrentQueue &other)¶
-
template <AllocationMode canAlloc, typename U>
boolinner_enqueue
(producer_token_t const &token, U &&element)¶
-
template <AllocationMode canAlloc, typename U>
boolinner_enqueue
(U &&element)¶
-
template <AllocationMode canAlloc, typename It>
boolinner_enqueue_bulk
(producer_token_t const &token, It itemFirst, size_t count)¶
-
bool
update_current_producer_after_rotation
(consumer_token_t &token)¶
-
ProducerBase *
recycle_or_create_producer
(bool isExplicit)¶
-
ProducerBase *
recycle_or_create_producer
(bool isExplicit, bool &recycled)¶
-
ProducerBase *
add_producer
(ProducerBase *producer)¶
-
void
reown_producers
()¶
-
void
populate_initial_implicit_producer_hash
()¶
-
void
swap_implicit_producer_hashes
(ConcurrentQueue &other)¶
-
ImplicitProducer *
get_or_add_implicit_producer
()¶
Private Members
-
std::atomic<ProducerBase *>
producerListTail
¶
-
std::atomic<ImplicitProducerHash *>
implicitProducerHash
¶
-
ImplicitProducerHash
initialImplicitProducerHash
¶
-
std::array<ImplicitProducerKVP, INITIAL_IMPLICIT_PRODUCER_HASH_SIZE>
initialImplicitProducerHashEntries
¶
Private Static Functions
-
template <typename U>
static U *create
()¶
-
template <typename U, typename A1>
static U *create
(A1 &&a1)¶
-
template <typename U>
static voiddestroy
(U *p)¶
Friends
-
friend
moodycamel::ProducerToken
-
friend
moodycamel::ConsumerToken
-
friend
moodycamel::ExplicitProducer
-
friend
moodycamel::ImplicitProducer
-
friend
moodycamel::ConcurrentQueueTests
-
template <typename XT, typename XTraits>
voidswap
(typename ConcurrentQueue<XT, XTraits>::ImplicitProducerKVP&, typename ConcurrentQueue<XT, XTraits>::ImplicitProducerKVP&)¶
-
struct
Block
¶ Public Functions
-
template<>
Block
()¶
-
template <InnerQueueContext context>
template<>
boolis_empty
() const¶
-
template <InnerQueueContext context>
template<>
boolset_empty
(index_t i)¶
-
template <InnerQueueContext context>
template<>
boolset_many_empty
(index_t i, size_t count)¶
-
template <InnerQueueContext context>
template<>
voidset_all_empty
()¶
-
template <InnerQueueContext context>
template<>
voidreset_empty
()¶
-
template<>
T *operator[]
(index_t idx)¶
-
template<>
T const *operator[]
(index_t idx) const¶
Public Members
-
template<>
charelements
[sizeof(T) *BLOCK_SIZE
]¶
-
template<>
details::max_align_tdummy
¶
-
template<>
Block *next
¶
-
std::atomic<bool> moodycamel::ConcurrentQueue< T, Traits >::Block::emptyFlags[BLOCK_SIZE<=EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD ? BLOCK_SIZE :1]
-
template<>
booldynamicallyAllocated
¶
Private Members
-
union moodycamel::ConcurrentQueue::Block::@8 moodycamel::ConcurrentQueue< T, Traits >::Block::@9
-
template<>
-
struct
ExplicitProducer
: public moodycamel::ConcurrentQueue<T, Traits>::ProducerBase¶ Public Functions
-
template<>
ExplicitProducer
(ConcurrentQueue *parent)¶
-
template<>
~ExplicitProducer
()¶
-
template <AllocationMode allocMode, typename U>
template<>
boolenqueue
(U &&element)¶
-
template <typename U>
template<>
booldequeue
(U &element)¶
-
template <AllocationMode allocMode, typename It>
template<>
boolenqueue_bulk
(It itemFirst, size_t count)¶
-
template <typename It>
template<>
size_tdequeue_bulk
(It &itemFirst, size_t max)¶
Private Functions
-
template<>
boolnew_block_index
(size_t numberOfFilledSlotsToExpose)¶
Private Members
-
template<>
size_tpr_blockIndexSlotsUsed
¶
-
template<>
size_tpr_blockIndexSize
¶
-
template<>
size_tpr_blockIndexFront
¶
-
template<>
BlockIndexEntry *pr_blockIndexEntries
¶
-
template<>
void *pr_blockIndexRaw
¶
-
struct
BlockIndexEntry
¶
-
struct
BlockIndexHeader
¶
-
template<>
-
template <typename N>
structFreeList
¶ Public Functions
-
template<>
FreeList
()¶
-
template<>
voidswap
(FreeList &other)¶
-
template<>
FreeList &operator=
(FreeList const&)¶
-
template<>
voidadd
(N *node)¶
-
template<>
N *try_get
()¶
-
template<>
N *head_unsafe
() const¶
Private Functions
-
template<>
voidadd_knowing_refcount_is_zero
(N *node)¶
-
template<>
-
struct
ImplicitProducer
: public moodycamel::ConcurrentQueue<T, Traits>::ProducerBase¶ Public Functions
-
template<>
ImplicitProducer
(ConcurrentQueue *parent)¶
-
template<>
~ImplicitProducer
()¶
-
template <AllocationMode allocMode, typename U>
template<>
boolenqueue
(U &&element)¶
-
template <typename U>
template<>
booldequeue
(U &element)¶
-
template <AllocationMode allocMode, typename It>
template<>
boolenqueue_bulk
(It itemFirst, size_t count)¶
-
template <typename It>
template<>
size_tdequeue_bulk
(It &itemFirst, size_t max)¶
Private Functions
-
template <AllocationMode allocMode>
template<>
boolinsert_block_index_entry
(BlockIndexEntry *&idxEntry, index_t blockStartIndex)¶
-
template<>
voidrewind_block_index_tail
()¶
-
template<>
BlockIndexEntry *get_block_index_entry_for_index
(index_t index) const¶
-
template<>
size_tget_block_index_index_for_index
(index_t index, BlockIndexHeader *&localBlockIndex) const¶
-
template<>
boolnew_block_index
()¶
Private Members
-
template<>
size_tnextBlockIndexCapacity
¶
Private Static Attributes
-
template<>
const index_tINVALID_BLOCK_BASE
= 1¶
-
struct
BlockIndexEntry
¶
-
struct
BlockIndexHeader
¶
-
template<>
-
struct
ImplicitProducerHash
¶
-
struct
ImplicitProducerKVP
¶ Public Functions
-
template<>
ImplicitProducerKVP
()¶
-
template<>
ImplicitProducerKVP
(ImplicitProducerKVP &&other)¶
-
template<>
ImplicitProducerKVP &operator=
(ImplicitProducerKVP &&other)¶
-
template<>
voidswap
(ImplicitProducerKVP &other)¶
-
template<>
-
struct
ProducerBase
: public moodycamel::details::ConcurrentQueueProducerTypelessBase¶ Public Functions
-
template<>
ProducerBase
(ConcurrentQueue *parent_, bool isExplicit_)¶
-
template<>
virtual~ProducerBase
()¶
-
template <typename U>
template<>
booldequeue
(U &element)¶
-
template <typename It>
template<>
size_tdequeue_bulk
(It &itemFirst, size_t max)¶
-
template<>
ProducerBase *next_prod
() const¶
-
template<>
size_tsize_approx
() const¶
-
template<>
index_tgetTail
() const¶
-
template<>
-
typedef moodycamel::ProducerToken
-
struct
ConcurrentQueueDefaultTraits
¶ -
Public Static Attributes
-
const size_t
MAX_SUBQUEUE_SIZE
= details::const_numeric_max<size_t>::value¶
-
const size_t
-
struct
ConsumerToken
¶ Public Functions
-
template <typename T, typename Traits>
ConsumerToken
(ConcurrentQueue<T, Traits> &q)¶
-
template <typename T, typename Traits>
ConsumerToken
(BlockingConcurrentQueue<T, Traits> &q)¶
-
ConsumerToken
(ConsumerToken &&other)¶
-
ConsumerToken &
operator=
(ConsumerToken &&other)¶
-
void
swap
(ConsumerToken &other)¶
-
ConsumerToken
(ConsumerToken const&)¶
-
ConsumerToken &
operator=
(ConsumerToken const&)¶
Private Members
-
details::ConcurrentQueueProducerTypelessBase *
currentProducer
¶
-
details::ConcurrentQueueProducerTypelessBase *
desiredProducer
¶
Friends
-
friend
moodycamel::ConcurrentQueue
-
friend
moodycamel::ConcurrentQueueTests
-
template <typename T, typename Traits>
-
struct
ProducerToken
¶ Public Functions
-
template <typename T, typename Traits>
ProducerToken
(ConcurrentQueue<T, Traits> &queue)¶
-
template <typename T, typename Traits>
ProducerToken
(BlockingConcurrentQueue<T, Traits> &queue)¶
-
ProducerToken
(ProducerToken &&other)¶
-
ProducerToken &
operator=
(ProducerToken &&other)¶
-
void
swap
(ProducerToken &other)¶
-
bool
valid
() const¶
-
~ProducerToken
()¶
-
ProducerToken
(ProducerToken const&)¶
-
ProducerToken &
operator=
(ProducerToken const&)¶
Protected Attributes
-
details::ConcurrentQueueProducerTypelessBase *
producer
¶
Friends
-
friend
moodycamel::ConcurrentQueue
-
friend
moodycamel::ConcurrentQueueTests
-
template <typename T, typename Traits>
-
namespace
details
¶ -
Functions
-
static thread_id_t
thread_id
()¶
-
static bool() moodycamel::details::likely(bool x)
-
static bool() moodycamel::details::unlikely(bool x)
-
static size_t
hash_thread_id
(thread_id_t id)¶
-
template <typename T>
static boolcircular_less_than
(T a, T b)¶
-
template <typename U>
static char *align_for
(char *ptr)¶
-
template <typename T>
static Tceil_to_pow_2
(T x)¶
-
template <typename T>
static T const &nomove
(T const &x)¶
-
template <typename It>
static autoderef_noexcept
(It &it)¶
-
template <bool use32>
struct_hash_32_or_64
¶
-
template <>
template<>
struct_hash_32_or_64
<1>¶
-
struct
ConcurrentQueueProducerTypelessBase
¶ Public Functions
-
ConcurrentQueueProducerTypelessBase
()¶
Public Members
-
ProducerToken *
token
¶
-
-
template <typename T>
structconst_numeric_max
¶ Public Static Attributes
-
const T
value
= std::numeric_limits<T>::is_signed
? (static_cast<T>(1) << (sizeof(T) * CHAR_BIT - 1)) - static_cast<T>(1)
: static_cast<T>(-1)
¶
-
const T
-
union
max_align_t
¶
-
template <bool Enable>
structnomove_if
¶ Public Static Functions
-
template <typename T>
static T const &eval
(T const &x)¶
-
template <typename T>
-
template <>
template<>
structnomove_if
<false>¶ Public Static Functions
-
template <typename U>
static autoeval
(U &&x)¶
-
template <typename U>
-
template <>
template<>
structstatic_is_lock_free
<bool>¶
-
template <typename U>
template<>
structstatic_is_lock_free
<U *>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_POINTER_LOCK_FREE
-
-
enum
-
template <typename T>
structstatic_is_lock_free_num
¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= 0
-
-
enum
-
template <>
template<>
structstatic_is_lock_free_num
<int>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_INT_LOCK_FREE
-
-
enum
-
template <>
template<>
structstatic_is_lock_free_num
<long>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_LONG_LOCK_FREE
-
-
enum
-
template <>
template<>
structstatic_is_lock_free_num
<long long>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_LLONG_LOCK_FREE
-
-
enum
-
template <>
template<>
structstatic_is_lock_free_num
<short>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_SHORT_LOCK_FREE
-
-
enum
-
template <>
template<>
structstatic_is_lock_free_num
<signed char>¶ Public Types
-
enum
[anonymous]
¶ Values:
-
value
= ATOMIC_CHAR_LOCK_FREE
-
-
enum
-
template <typename thread_id_t>
structthread_id_converter
¶ -
Public Static Functions
-
static thread_id_hash_t
prehash
(thread_id_t const &x)¶
-
static thread_id_hash_t
-
static thread_id_t
-
template <typename T, typename Traits>
#include <hpx/concurrency/deque.hpp>
¶
-
namespace
boost
¶ -
namespace
lockfree
¶ -
-
template <typename T, typename freelist_t = caching_freelist_t, typename Alloc = std::allocator<T>>
structdeque
¶ Public Types
-
typedef deque_node<T>
node
¶
-
typedef deque_anchor<T>
anchor
¶
-
typedef std::conditional<std::is_same<freelist_t, caching_freelist_t>::value, caching_freelist<node, node_allocator>, static_freelist<node, node_allocator>>::type
pool
¶
Public Functions
-
~deque
()¶
-
bool
empty
() const¶
-
bool
is_lock_free
() const¶
-
bool
push_left
(T const &data)¶
-
bool
push_right
(T const &data)¶
-
bool
pop_left
(T &r)¶
-
bool
pop_left
(T *r)¶
-
bool
pop_right
(T &r)¶
-
bool
pop_right
(T *r)¶
Private Functions
-
void
stabilize_left
(anchor_pair &lrs)¶
-
void
stabilize_right
(anchor_pair &lrs)¶
-
void
stabilize
(anchor_pair &lrs)¶
-
typedef deque_node<T>
-
template <typename T>
structdeque_anchor
¶ Public Types
-
typedef deque_node<T>
node
¶
Public Functions
-
deque_anchor
()¶
-
deque_anchor
(deque_anchor const &p)¶
-
bool
cas
(deque_anchor &expected, deque_anchor const &desired) volatile¶
-
bool
cas
(pair &expected, deque_anchor const &desired) volatile¶
-
bool
cas
(deque_anchor &expected, pair const &desired) volatile¶
-
bool
operator==
(volatile deque_anchor const &rhs) const¶
-
bool
operator!=
(volatile deque_anchor const &rhs) const¶
-
bool
is_lock_free
() const¶
Private Members
-
atomic_pair
pair_
¶
-
typedef deque_node<T>
-
template <typename T>
structdeque_node
¶ Public Types
-
typedef detail::tagged_ptr<deque_node>
pointer
¶
Public Functions
-
deque_node
()¶
-
deque_node
(deque_node const &p)¶
-
deque_node
(deque_node *lptr, deque_node *rptr, T const &v, tag_t ltag = 0, tag_t rtag = 0)¶
-
typedef detail::tagged_ptr<deque_node>
-
template <typename T, typename freelist_t = caching_freelist_t, typename Alloc = std::allocator<T>>
-
namespace
#include <hpx/concurrency/cache_line_data.hpp>
¶
-
template <typename Data>
template<>
structcache_aligned_data
<Data, std::false_type>¶ Public Functions
-
cache_aligned_data
()¶
-
cache_aligned_data
(Data &&data)¶
-
cache_aligned_data
(Data const &data)¶
Public Members
-
Data
data_
¶
-
-
namespace
hpx
-
namespace
threads
-
namespace
util
Typedefs
-
using
hpx::util::cache_line_data = typedef cache_aligned_data<Data>
-
template <typename Data, typename NeedsPadding = typename detail::needs_padding<Data>::type>
structcache_aligned_data
¶
-
using
-
namespace
#include <hpx/concurrency/spinlock_pool.hpp>
¶
-
namespace
hpx
-
namespace
util
-
template <typename Tag, std::size_t N = HPX_HAVE_SPINLOCK_POOL_NUM>
classspinlock_pool
¶ -
Private Static Attributes
-
cache_aligned_data<boost::detail::spinlock>
pool_
¶
-
cache_aligned_data<boost::detail::spinlock>
-
template <typename Tag, std::size_t N = HPX_HAVE_SPINLOCK_POOL_NUM>
-
namespace
#include <hpx/concurrency/itt_notify.hpp>
¶
Defines
-
HPX_ITT_SYNC_CREATE
(obj, type, name)¶
-
HPX_ITT_SYNC_RENAME
(obj, name)¶
-
HPX_ITT_SYNC_PREPARE
(obj)¶
-
HPX_ITT_SYNC_CANCEL
(obj)¶
-
HPX_ITT_SYNC_ACQUIRED
(obj)¶
-
HPX_ITT_SYNC_RELEASING
(obj)¶
-
HPX_ITT_SYNC_RELEASED
(obj)¶
-
HPX_ITT_SYNC_DESTROY
(obj)¶
-
HPX_ITT_STACK_CREATE
(ctx)¶
-
HPX_ITT_STACK_CALLEE_ENTER
(ctx)¶
-
HPX_ITT_STACK_CALLEE_LEAVE
(ctx)¶
-
HPX_ITT_STACK_DESTROY
(ctx)¶
-
HPX_ITT_FRAME_BEGIN
(frame, id)¶
-
HPX_ITT_FRAME_END
(frame, id)¶
-
HPX_ITT_MARK_CREATE
(mark, name)¶
-
HPX_ITT_MARK_OFF
(mark)¶
-
HPX_ITT_MARK
(mark, parameter)¶
-
HPX_ITT_THREAD_SET_NAME
(name)¶
-
HPX_ITT_THREAD_IGNORE
()¶
-
HPX_ITT_TASK_BEGIN
(domain, name)¶
-
HPX_ITT_TASK_BEGIN_ID
(domain, id, name)¶
-
HPX_ITT_TASK_END
(domain)¶
-
HPX_ITT_DOMAIN_CREATE
(name)¶
-
HPX_ITT_STRING_HANDLE_CREATE
(name)¶
-
HPX_ITT_MAKE_ID
(addr, extra)¶
-
HPX_ITT_ID_CREATE
(domain, id)¶
-
HPX_ITT_ID_DESTROY
(id)¶
-
HPX_ITT_HEAP_FUNCTION_CREATE
(name, domain)¶
-
HPX_ITT_HEAP_ALLOCATE_BEGIN
(f, size, initialized)¶
-
HPX_ITT_HEAP_ALLOCATE_END
(f, addr, size, initialized)¶
-
HPX_ITT_HEAP_FREE_BEGIN
(f, addr)¶
-
HPX_ITT_HEAP_FREE_END
(f, addr)¶
-
HPX_ITT_HEAP_REALLOCATE_BEGIN
(f, addr, new_size, initialized)¶
-
HPX_ITT_HEAP_REALLOCATE_END
(f, addr, new_addr, new_size, initialized)¶
-
HPX_ITT_HEAP_INTERNAL_ACCESS_BEGIN
()¶
-
HPX_ITT_HEAP_INTERNAL_ACCESS_END
()¶
-
HPX_ITT_COUNTER_CREATE
(name, domain)¶
-
HPX_ITT_COUNTER_CREATE_TYPED
(name, domain, type)¶
-
HPX_ITT_COUNTER_SET_VALUE
(id, value_ptr)¶
-
HPX_ITT_COUNTER_DESTROY
(id)¶
-
HPX_ITT_METADATA_ADD
(domain, id, key, data)¶
Typedefs
-
typedef void *
__itt_heap_function
¶
Functions
-
void
itt_sync_create
(void *, const char *, const char *)¶
-
void
itt_sync_rename
(void *, const char *)¶
-
void
itt_sync_prepare
(void *)¶
-
void
itt_sync_acquired
(void *)¶
-
void
itt_sync_cancel
(void *)¶
-
void
itt_sync_releasing
(void *)¶
-
void
itt_sync_released
(void *)¶
-
void
itt_sync_destroy
(void *)¶
-
___itt_caller *
itt_stack_create
()¶
-
void
itt_stack_enter
(___itt_caller *)¶
-
void
itt_stack_leave
(___itt_caller *)¶
-
void
itt_stack_destroy
(___itt_caller *)¶
-
void
itt_frame_begin
(___itt_domain const *, ___itt_id *)¶
-
void
itt_frame_end
(___itt_domain const *, ___itt_id *)¶
-
int
itt_mark_create
(char const *)¶
-
void
itt_mark_off
(int)¶
-
void
itt_mark
(int, char const *)¶
-
void
itt_thread_set_name
(char const *)¶
-
void
itt_thread_ignore
()¶
-
void
itt_task_begin
(___itt_domain const *, ___itt_string_handle *)¶
-
void
itt_task_begin
(___itt_domain const *, ___itt_id *, ___itt_string_handle *)¶
-
void
itt_task_end
(___itt_domain const *)¶
-
___itt_domain *
itt_domain_create
(char const *)¶
-
___itt_string_handle *
itt_string_handle_create
(char const *)¶
-
___itt_id *
itt_make_id
(void *, unsigned long)¶
-
void
itt_id_create
(___itt_domain const *, ___itt_id *)¶
-
void
itt_id_destroy
(___itt_id *)¶
-
__itt_heap_function
itt_heap_function_create
(const char *, const char *)¶
-
void
itt_heap_allocate_begin
(__itt_heap_function, std::size_t, int)¶
-
void
itt_heap_allocate_end
(__itt_heap_function, void **, std::size_t, int)¶
-
void
itt_heap_free_begin
(__itt_heap_function, void *)¶
-
void
itt_heap_free_end
(__itt_heap_function, void *)¶
-
void
itt_heap_reallocate_begin
(__itt_heap_function, void *, std::size_t, int)¶
-
void
itt_heap_reallocate_end
(__itt_heap_function, void *, void **, std::size_t, int)¶
-
void
itt_heap_internal_access_begin
()¶
-
void
itt_heap_internal_access_end
()¶
-
___itt_counter *
itt_counter_create
(char const *, char const *)¶
-
___itt_counter *
itt_counter_create_typed
(char const *, char const *, int)¶
-
void
itt_counter_destroy
(___itt_counter *)¶
-
void
itt_counter_set_value
(___itt_counter *, void *)¶
-
int
itt_event_create
(char const *, int)¶
-
int
itt_event_start
(int)¶
-
int
itt_event_end
(int)¶
-
void
itt_metadata_add
(___itt_domain *, ___itt_id *, ___itt_string_handle *, double const&)¶
-
void
itt_metadata_add
(___itt_domain *, ___itt_id *, ___itt_string_handle *, char const *)¶
-
void
itt_metadata_add
(___itt_domain *, ___itt_id *, ___itt_string_handle *, void const *)¶
-
namespace
hpx
-
namespace
util
-
namespace
itt
¶ -
-
struct
caller_context
¶
-
struct
counter
¶
-
struct
domain
¶ Subclassed by hpx::util::itt::thread_domain
-
struct
frame_context
¶
-
struct
heap_allocate
¶ Public Functions
-
template <typename T>
heap_allocate
(heap_function&, T **, std::size_t, int)¶
-
~heap_allocate
()¶
-
template <typename T>
-
struct
heap_free
¶
-
struct
heap_function
¶
-
struct
heap_internal_access
¶
-
struct
id
¶
-
struct
mark_context
¶
-
struct
mark_event
¶
-
struct
stack_context
¶
-
struct
task
¶ Public Functions
-
task
(domain const&, string_handle const&, std::uint64_t)¶
-
task
(domain const&, string_handle const&)¶
-
~task
()¶
-
-
struct
undo_frame_context
¶
-
struct
undo_mark_context
¶
-
struct
-
namespace
-
namespace