| /oneTBB/src/tbb/ |
| H A D | rtm_rw_mutex.cpp | 45 case d1::rtm_rw_mutex::rtm_type::rtm_real_reader: in release() 50 case d1::rtm_rw_mutex::rtm_type::rtm_real_writer: in release() 66 …static void acquire_writer(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s, bool only_specul… in acquire_writer() 106 …static void acquire_reader(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s, bool only_specul… in acquire_reader() 161 d1::rtm_rw_mutex& m = *s.m_mutex; in upgrade() 202 static bool try_acquire_writer(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s) { in try_acquire_writer() 221 static bool try_acquire_reader(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s) { in try_acquire_reader() 238 void __TBB_EXPORTED_FUNC acquire_writer(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s, bool… in acquire_writer() 243 void __TBB_EXPORTED_FUNC acquire_reader(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s, bool… in acquire_reader() 255 bool __TBB_EXPORTED_FUNC try_acquire_writer(d1::rtm_rw_mutex& m, d1::rtm_rw_mutex::scoped_lock& s) { in try_acquire_writer() [all …]
|
| H A D | task_group_context.cpp | 62 d1::cpu_ctl_env* ctl = reinterpret_cast<d1::cpu_ctl_env*>(&ctx.my_cpu_ctl_env); in destroy() 100 d1::cpu_ctl_env* ctl = new (&ctx.my_cpu_ctl_env) d1::cpu_ctl_env; in initialize() 167 if (state <= d1::task_group_context::state::locked) { in bind_to() 172 …(typename std::underlying_type<d1::task_group_context::state>::type)d1::task_group_context::state:… in bind_to() 181 d1::task_group_context::state release_state{}; in bind_to() 200 …:propagate_task_group_state(d1::task_group_context& ctx, std::atomic<std::uint32_t> d1::task_group… in propagate_task_group_state() 264 d1::cpu_ctl_env* ctl = reinterpret_cast<d1::cpu_ctl_env*>(&ctx.my_cpu_ctl_env); in capture_fp_settings() 266 ctl = new (&ctx.my_cpu_ctl_env) d1::cpu_ctl_env; in capture_fp_settings() 272 void task_group_context_impl::copy_fp_settings(d1::task_group_context& ctx, const d1::task_group_co… in copy_fp_settings() 277 const d1::cpu_ctl_env* src_ctl = reinterpret_cast<const d1::cpu_ctl_env*>(&src.my_cpu_ctl_env); in copy_fp_settings() [all …]
|
| H A D | rtm_mutex.cpp | 37 static void release(d1::rtm_mutex::scoped_lock& s) { in release() 39 case d1::rtm_mutex::rtm_state::rtm_transacting: in release() 44 case d1::rtm_mutex::rtm_state::rtm_real: in release() 48 case d1::rtm_mutex::rtm_state::rtm_none: in release() 54 s.m_transaction_state = d1::rtm_mutex::rtm_state::rtm_none; in release() 58 static void acquire(d1::rtm_mutex& m, d1::rtm_mutex::scoped_lock& s, bool only_speculate) { in acquire() 88 s.m_transaction_state = d1::rtm_mutex::rtm_state::rtm_real; in acquire() 92 static bool try_acquire(d1::rtm_mutex& m, d1::rtm_mutex::scoped_lock& s) { in try_acquire() 108 void __TBB_EXPORTED_FUNC acquire(d1::rtm_mutex& m, d1::rtm_mutex::scoped_lock& s, bool only_specula… in acquire() 111 bool __TBB_EXPORTED_FUNC try_acquire(d1::rtm_mutex& m, d1::rtm_mutex::scoped_lock& s) { in try_acquire() [all …]
|
| H A D | scheduler_common.h | 96 d1::wait_context* wait_ctx{}; 107 static d1::task_group_context*& context(d1::task& t) { in context() 168 const d1::cpu_ctl_env* ctl = reinterpret_cast<const d1::cpu_ctl_env*>(&ctx->my_cpu_ctl_env); in set_ctx() 428 d1::task* execute(d1::execution_data& ed) override; 429 d1::task* cancel(d1::execution_data&) override { in cancel() 490 d1::task* get_critical_task(d1::task*, execution_data_ext&, isolation_type, bool); in alignas() 497 d1::task* local_wait_for_all(d1::task * t, Waiter& waiter); in alignas() 515 d1::task* local_wait_for_all(d1::task* t, Waiter& waiter); in alignas() 534 …static void execute_and_wait(d1::task* t, d1::wait_context& wait_ctx, d1::task_group_context& w_ct… in alignas() 580 …tatic void propagate_task_group_state(d1::task_group_context&, std::atomic<uint32_t> d1::task_grou… [all …]
|
| H A D | global_control.cpp | 38 bool operator()(const d1::global_control* lhs, const d1::global_control* rhs) const; 49 …std::set<d1::global_control*, control_storage_comparator, tbb_allocator<d1::global_control*>> my_l… 167 inline bool control_storage_comparator::operator()(const d1::global_control* lhs, const d1::global_… in operator ()() 173 return d1::global_control::active_value(d1::global_control::terminate_on_exception) == 1; in terminate_on_exception() 189 static void create(d1::global_control& gc) { in create() 202 static void destroy(d1::global_control& gc) { in destroy() 235 static bool is_present(d1::global_control& gc) { in is_present() 249 void __TBB_EXPORTED_FUNC create(d1::global_control& gc) { in create() 252 void __TBB_EXPORTED_FUNC destroy(d1::global_control& gc) { in destroy() 256 bool remove_and_check_if_empty(d1::global_control& gc) { in remove_and_check_if_empty() [all …]
|
| H A D | parallel_pipeline.cpp | 37 friend void parallel_pipeline(d1::task_group_context&, std::size_t, const d1::filter_node&); 54 void add_filter( d1::base_filter& ); 76 d1::base_filter* first_filter; 79 d1::base_filter* last_filter; 87 d1::wait_context wait_ctx; 272 d1::base_filter* my_filter; 273 d1::small_object_allocator m_allocator; 318 void finalize(d1::execution_data& ed) { in finalize() 343 d1::small_object_allocator alloc{}; in spawn_stage_task() 415 d1::base_filter* f = first_filter; in ~pipeline() [all …]
|
| H A D | task_dispatcher.cpp | 30 void __TBB_EXPORTED_FUNC spawn(d1::task& t, d1::task_group_context& ctx) { in spawn() 42 void __TBB_EXPORTED_FUNC spawn(d1::task& t, d1::task_group_context& ctx, d1::slot_id id) { in spawn() 56 d1::small_object_allocator alloc{}; in spawn() 77 void __TBB_EXPORTED_FUNC submit(d1::task& t, d1::task_group_context& ctx, arena* a, std::uintptr_t … in submit() 119 …d __TBB_EXPORTED_FUNC execute_and_wait(d1::task& t, d1::task_group_context& t_ctx, d1::wait_contex… in execute_and_wait() 124 void __TBB_EXPORTED_FUNC wait(d1::wait_context& wait_ctx, d1::task_group_context& w_ctx) { in wait() 129 d1::slot_id __TBB_EXPORTED_FUNC execution_slot(const d1::execution_data* ed) { in execution_slot() 136 return td ? td->my_arena_index : d1::slot_id(-1); in execution_slot() 153 void task_dispatcher::execute_and_wait(d1::task* t, d1::wait_context& wait_ctx, d1::task_group_cont… in execute_and_wait() 213 d1::task* resume_task{}; in co_local_wait_for_all() [all …]
|
| H A D | profiling.cpp | 35 static __itt_domain *tbb_domains[d1::ITT_NUM_DOMAINS] = {}; 58 tbb_domains[d1::ITT_DOMAIN_MAIN] = __itt_domain_create( _T("tbb") ); in ITT_init_domains() 59 tbb_domains[d1::ITT_DOMAIN_MAIN]->flags = 1; in ITT_init_domains() 60 tbb_domains[d1::ITT_DOMAIN_FLOW] = __itt_domain_create( _T("tbb.flow") ); in ITT_init_domains() 61 tbb_domains[d1::ITT_DOMAIN_FLOW]->flags = 1; in ITT_init_domains() 62 tbb_domains[d1::ITT_DOMAIN_ALGO] = __itt_domain_create( _T("tbb.algorithm") ); in ITT_init_domains() 63 tbb_domains[d1::ITT_DOMAIN_ALGO]->flags = 1; in ITT_init_domains() 124 static inline __itt_domain* get_itt_domain(d1::itt_domain_enum idx) { in get_itt_domain() 139 void itt_make_task_group(d1::itt_domain_enum domain, void* group, unsigned long long group_extra, in itt_make_task_group() 210 void __TBB_EXPORTED_FUNC itt_task_end(d1::itt_domain_enum domain) { in itt_task_end() [all …]
|
| H A D | arena.cpp | 266 … d1::task_group_context{ d1::task_group_context::isolated, d1::task_group_context::fp_settings }; in arena() 493 (d1::num_priority_levels - priority_level) * d1::priority_stride in arena_priority() 503 static void execute(d1::task_arena_base&, d1::delegate_base&); 506 static void enqueue(d1::task&, d1::task_group_context*, d1::task_arena_base*); 529 void __TBB_EXPORTED_FUNC enqueue(d1::task& t, d1::task_arena_base* ta) { in enqueue() 533 void __TBB_EXPORTED_FUNC enqueue(d1::task& t, d1::task_group_context& ctx, d1::task_arena_base* ta)… in enqueue() 598 void task_arena_impl::enqueue(d1::task& t, d1::task_group_context* c, d1::task_arena_base* ta) { in enqueue() 699 d1::task* execute(d1::execution_data& ed) override { in execute() 718 d1::task* cancel(d1::execution_data&) override { in cancel() 740 void task_arena_impl::execute(d1::task_arena_base& ta, d1::delegate_base& d) { in execute() [all …]
|
| H A D | waiters.h | 29 inline d1::task* get_self_recall_task(arena_slot& slot); 57 bool continue_execution(arena_slot& slot, d1::task*& t) const { in continue_execution() 74 d1::wait_context* wait_ctx() { in wait_ctx() 78 static bool postpone_execution(d1::task&) { in postpone_execution() 123 external_waiter(arena& a, d1::wait_context& wo) in external_waiter() 127 bool continue_execution(arena_slot& slot, d1::task*& t) const { in continue_execution() 145 d1::wait_context* wait_ctx() { in wait_ctx() 149 static bool postpone_execution(d1::task&) { in postpone_execution() 154 d1::wait_context& my_wait_ctx; 181 d1::wait_context* wait_ctx() { in wait_ctx() [all …]
|
| H A D | arena_slot.h | 44 static d1::task** const EmptyTaskPool = nullptr; 45 static d1::task** const LockedTaskPool = reinterpret_cast<d1::task**>(~std::intptr_t(0)); 56 std::atomic<d1::task**> task_pool; in alignas() 85 d1::task** task_pool_ptr; in alignas() 111 my_task_pool_size = byte_size / sizeof(d1::task*); in allocate_task_pool() 158 void spawn(d1::task& t) { in spawn() 229 d1::task** new_task_pool = task_pool_ptr; in prepare_task_pool() 299 d1::task** expected = task_pool_ptr; in acquire_task_pool() 325 d1::task** lock_task_pool() { in lock_task_pool() 326 d1::task** victim_task_pool; in lock_task_pool() [all …]
|
| H A D | task_dispatcher.h | 44 inline d1::task* get_self_recall_task(arena_slot& slot) { in get_self_recall_task() 46 d1::task* t = nullptr; in get_self_recall_task() 65 inline d1::task* suspend_point_type::resume_task::execute(d1::execution_data& ed) { in execute() 158 inline d1::task* task_dispatcher::steal_or_get_critical( in steal_or_get_critical() 171 d1::task* task_dispatcher::receive_or_steal_task( in receive_or_steal_task() 177 d1::task* t = nullptr; in receive_or_steal_task() 243 d1::task* task_dispatcher::local_wait_for_all(d1::task* t, Waiter& waiter ) { in local_wait_for_all() 278 ed.affinity_slot = d1::no_slot; in local_wait_for_all() 330 ed.affinity_slot = d1::no_slot; in local_wait_for_all() 436 inline d1::task* task_dispatcher::get_critical_task(d1::task* t, execution_data_ext&, isolation_typ… in get_critical_task() [all …]
|
| H A D | thread_data.h | 45 class context_list : public intrusive_list<d1::intrusive_list_node> { 59 d1::mutex m_mutex{}; 66 void remove(d1::intrusive_list_node& val) { in remove() 69 intrusive_list<d1::intrusive_list_node>::remove(val); in remove() 77 void push_front(d1::intrusive_list_node& val) { in push_front() 80 intrusive_list<d1::intrusive_list_node>::push_front(val); in push_front() 98 , public d1::intrusive_list_node 140 …void propagate_task_group_state(std::atomic<uint32_t> d1::task_group_context::* mptr_state, d1::ta… 202 d1::task_group_context my_default_context; 239 …::propagate_task_group_state(std::atomic<std::uint32_t> d1::task_group_context::* mptr_state, d1::… in propagate_task_group_state() [all …]
|
| H A D | queuing_rw_mutex.cpp | 158 static void acquire(d1::queuing_rw_mutex& m, d1::queuing_rw_mutex::scoped_lock& s, bool write) in acquire() 254 … static bool try_acquire(d1::queuing_rw_mutex& m, d1::queuing_rw_mutex::scoped_lock& s, bool write) in try_acquire() 272 d1::queuing_rw_mutex::scoped_lock* expected = nullptr; in try_acquire() 281 static void release(d1::queuing_rw_mutex::scoped_lock& s) { in release() 294 d1::queuing_rw_mutex::scoped_lock* expected = &s; in release() 367 d1::queuing_rw_mutex::scoped_lock* expected = &s; in release() 473 d1::queuing_rw_mutex::scoped_lock* expected = &s; in upgrade_to_writer() 581 static void construct(d1::queuing_rw_mutex& m) { in construct() 587 void __TBB_EXPORTED_FUNC acquire(d1::queuing_rw_mutex& m, d1::queuing_rw_mutex::scoped_lock& s, boo… in acquire() 591 bool __TBB_EXPORTED_FUNC try_acquire(d1::queuing_rw_mutex& m, d1::queuing_rw_mutex::scoped_lock& s,… in try_acquire() [all …]
|
| /oneTBB/src/tbb/def/ |
| H A D | win64-tbb.def | 27 ?itt_task_end@r1@detail@tbb@@YAXW4itt_domain_enum@d1@23@@Z 86 ?destroy@r1@detail@tbb@@YAXAEAVtask_group_context@d1@23@@Z 88 ?reset@r1@detail@tbb@@YAXAEAVtask_group_context@d1@23@@Z 94 ?initialize@r1@detail@tbb@@YAXAEAVtask_arena_base@d1@23@@Z 95 ?terminate@r1@detail@tbb@@YAXAEAVtask_arena_base@d1@23@@Z 97 ?wait@r1@detail@tbb@@YAXAEAVtask_arena_base@d1@23@@Z 98 ?attach@r1@detail@tbb@@YA_NAEAVtask_arena_base@d1@23@@Z 116 ?construct@r1@detail@tbb@@YAXAEAVqueuing_rw_mutex@d1@23@@Z 126 ?create@r1@detail@tbb@@YAXAEAVglobal_control@d1@23@@Z 127 ?destroy@r1@detail@tbb@@YAXAEAVglobal_control@d1@23@@Z [all …]
|
| H A D | win32-tbb.def | 27 ?itt_task_end@r1@detail@tbb@@YAXW4itt_domain_enum@d1@23@@Z 87 ?destroy@r1@detail@tbb@@YAXAAVtask_group_context@d1@23@@Z 90 ?reset@r1@detail@tbb@@YAXAAVtask_group_context@d1@23@@Z 93 ?attach@r1@detail@tbb@@YA_NAAVtask_arena_base@d1@23@@Z 96 ?initialize@r1@detail@tbb@@YAXAAVtask_arena_base@d1@23@@Z 99 ?terminate@r1@detail@tbb@@YAXAAVtask_arena_base@d1@23@@Z 100 ?wait@r1@detail@tbb@@YAXAAVtask_arena_base@d1@23@@Z 117 ?construct@r1@detail@tbb@@YAXAAVqueuing_rw_mutex@d1@23@@Z 125 ?create@r1@detail@tbb@@YAXAAVglobal_control@d1@23@@Z 126 ?destroy@r1@detail@tbb@@YAXAAVglobal_control@d1@23@@Z [all …]
|
| /oneTBB/include/oneapi/tbb/detail/ |
| H A D | _task_handle.h | 30 namespace d1 { class task_group_context; class wait_context; struct execution_data; } 35 class task_handle_task : public d1::task { 37 d1::wait_context& m_wait_ctx; 38 d1::task_group_context& m_ctx; 39 d1::small_object_allocator m_allocator; 41 void finalize(const d1::execution_data* ed = nullptr) { 49 …task_handle_task(d1::wait_context& wo, d1::task_group_context& ctx, d1::small_object_allocator& al… in task_handle_task() 60 d1::task_group_context& ctx() const { return m_ctx; } in ctx() 89 d1::task* release() { in release() 96 static d1::task* release(task_handle& th) { return th.release(); } in release() [all …]
|
| H A D | _rtm_rw_mutex.h | 33 namespace d1 { 127 …TBB_EXPORT void __TBB_EXPORTED_FUNC acquire_writer(d1::rtm_rw_mutex&, d1::rtm_rw_mutex::scoped_loc… 130 …TBB_EXPORT void __TBB_EXPORTED_FUNC acquire_reader(d1::rtm_rw_mutex&, d1::rtm_rw_mutex::scoped_loc… 132 TBB_EXPORT bool __TBB_EXPORTED_FUNC upgrade(d1::rtm_rw_mutex::scoped_lock&); 134 TBB_EXPORT bool __TBB_EXPORTED_FUNC downgrade(d1::rtm_rw_mutex::scoped_lock&); 136 …TBB_EXPORT bool __TBB_EXPORTED_FUNC try_acquire_writer(d1::rtm_rw_mutex&, d1::rtm_rw_mutex::scoped… 138 …TBB_EXPORT bool __TBB_EXPORTED_FUNC try_acquire_reader(d1::rtm_rw_mutex&, d1::rtm_rw_mutex::scoped… 140 TBB_EXPORT void __TBB_EXPORTED_FUNC release(d1::rtm_rw_mutex::scoped_lock&); 143 namespace d1 {
|
| H A D | _task.h | 37 namespace d1 { 50 TBB_EXPORT void __TBB_EXPORTED_FUNC spawn(d1::task& t, d1::task_group_context& ctx); 51 TBB_EXPORT void __TBB_EXPORTED_FUNC spawn(d1::task& t, d1::task_group_context& ctx, d1::slot_id id); 52 …T void __TBB_EXPORTED_FUNC execute_and_wait(d1::task& t, d1::task_group_context& t_ctx, d1::wait_c… 53 TBB_EXPORT void __TBB_EXPORTED_FUNC wait(d1::wait_context&, d1::task_group_context& ctx); 54 TBB_EXPORT d1::slot_id __TBB_EXPORTED_FUNC execution_slot(const d1::execution_data*); 55 TBB_EXPORT d1::task_group_context* __TBB_EXPORTED_FUNC current_context(); 73 namespace d1 {
|
| /oneTBB/include/oneapi/tbb/ |
| H A D | task_arena.h | 38 namespace d1 { 90 TBB_EXPORT void __TBB_EXPORTED_FUNC execute(d1::task_arena_base&, d1::delegate_base&); 95 TBB_EXPORT void __TBB_EXPORTED_FUNC enqueue(d1::task&, d1::task_arena_base*); 96 TBB_EXPORT void __TBB_EXPORTED_FUNC enqueue(d1::task&, d1::task_group_context&, d1::task_arena_base… 111 namespace d1 { 357 void initialize(d1::attach) { in initialize() 481 using detail::d1::task_arena; 482 using detail::d1::attach; 485 using detail::d1::is_inside_task; 491 using detail::d1::isolate; [all …]
|
| H A D | queuing_rw_mutex.h | 35 namespace d1 { 161 TBB_EXPORT void acquire(d1::queuing_rw_mutex&, d1::queuing_rw_mutex::scoped_lock&, bool); 162 TBB_EXPORT bool try_acquire(d1::queuing_rw_mutex&, d1::queuing_rw_mutex::scoped_lock&, bool); 163 TBB_EXPORT void release(d1::queuing_rw_mutex::scoped_lock&); 164 TBB_EXPORT bool upgrade_to_writer(d1::queuing_rw_mutex::scoped_lock&); 165 TBB_EXPORT bool downgrade_to_reader(d1::queuing_rw_mutex::scoped_lock&); 166 TBB_EXPORT bool is_writer(const d1::queuing_rw_mutex::scoped_lock&); 169 namespace d1 { 200 using detail::d1::queuing_rw_mutex; 203 using detail::d1::set_name;
|
| H A D | info.h | 30 namespace d1{ 79 TBB_EXPORT int __TBB_EXPORTED_FUNC constraints_default_concurrency(const d1::constraints& c, intptr… 80 TBB_EXPORT int __TBB_EXPORTED_FUNC constraints_threads_per_core(const d1::constraints& c, intptr_t … 83 namespace d1 { 110 using detail::d1::numa_node_id; 111 using detail::d1::core_type_id; 114 using detail::d1::numa_nodes; 115 using detail::d1::core_types; 117 using detail::d1::default_concurrency;
|
| H A D | global_control.h | 34 namespace d1 { 40 TBB_EXPORT void __TBB_EXPORTED_FUNC create(d1::global_control&); 41 TBB_EXPORT void __TBB_EXPORTED_FUNC destroy(d1::global_control&); 45 void release_impl(d1::task_scheduler_handle& handle); 46 bool finalize_impl(d1::task_scheduler_handle& handle); 47 TBB_EXPORT void __TBB_EXPORTED_FUNC get(d1::task_scheduler_handle&); 51 namespace d1 { 191 using detail::d1::global_control; 192 using detail::d1::attach; 193 using detail::d1::finalize; [all …]
|
| H A D | task_group.h | 44 namespace d1 { 62 TBB_EXPORT void __TBB_EXPORTED_FUNC execute(d1::task_arena_base&, d1::delegate_base&); 79 d1::task* task_ptr_or_nullptr(F&& f); 88 d1::task* execute(d1::execution_data& ed) override { in execute() 94 d1::task* cancel(d1::execution_data& ed) override { in cancel() 100 …function_task(FF&& f, d1::wait_context& wo, d1::task_group_context& ctx, d1::small_object_allocato… in function_task() 139 namespace d1 { 724 using detail::d1::task_group; 730 using detail::d1::not_complete; 731 using detail::d1::complete; [all …]
|
| /oneTBB/test/tbb/ |
| H A D | test_task.cpp | 48 class CountingTask : public tbb::detail::d1::task { 77 tbb::detail::d1::wait_context& my_wait; 96 tbb::detail::d1::wait_context wait(1); in test_cancellation_on_exception() 142 tbb::detail::d1::wait_context wait(1); 187 tbb::detail::d1::wait(wait, test_context); 377 tbb::detail::d1::wait_context& my_wait; 455 tbb::detail::d1::wait_context& my_wait; 511 tbb::detail::d1::wait_context wait{ 0 }; 734 tbb::detail::d1::task* execute(tbb::detail::d1::execution_data& ) override { in execute() 741 tbb::detail::d1::task* cancel( tbb::detail::d1::execution_data& ) override { in cancel() [all …]
|