| /oneTBB/src/tbb/ |
| H A D | arena.cpp | 286 arena& arena::allocate_arena(threading_control* control, unsigned num_slots, unsigned num_reserved_… in allocate_arena() 301 void arena::free_arena () { in free_arena() 336 this->~arena(); in free_arena() 343 bool arena::has_enqueued_tasks() { in has_enqueued_tasks() 358 bool arena::has_tasks() { in has_tasks() 372 void arena::out_of_work() { in out_of_work() 398 bool arena::try_join() { in try_join() 455 arena& a = arena::allocate_arena(control, num_slots, num_reserved_slots, arena_priority_level); in create() 581 arena* a = td->my_arena; in attach() 601 arena* a = ta ? in enqueue() [all …]
|
| H A D | arena.h | 271 class arena: public padded<arena_base> 284 …arena(threading_control* control, unsigned max_num_workers, unsigned num_reserved_slots, unsigned … 287 …static arena& allocate_arena(threading_control* control, unsigned num_slots, unsigned num_reserved… 290 …static arena& create(threading_control* control, unsigned num_slots, unsigned num_reserved_slots, … 330 template<arena::new_work_type work_type> void advertise_new_work(); 400 template <arena::new_work_type work_type> 401 void arena::advertise_new_work() { in advertise_new_work() 436 inline d1::task* arena::steal_task(unsigned arena_index, FastRandom& frnd, execution_data_ext& ed, … in steal_task() 479 inline d1::task* arena::get_stream_task(task_stream<accessor>& stream, unsigned& hint) { in get_stream_task() 492 inline d1::task* arena::get_critical_task(unsigned& hint, isolation_type isolation) { in get_critical_task()
|
| H A D | task.cpp | 55 arena& a = *sp->m_arena; in resume() 56 a.my_references += arena::ref_worker; in resume() 68 a.advertise_new_work<arena::wakeup>(); in resume() 70 a.on_thread_leaving(arena::ref_worker); in resume() 91 td.my_arena->my_references += arena::ref_external; in create_coroutine() 174 td->my_arena->on_thread_leaving(arena::ref_external); in do_post_resume_action()
|
| H A D | task_dispatcher.cpp | 24 static inline void spawn_and_notify(d1::task& t, arena_slot* slot, arena* a) { in spawn_and_notify() 26 a->advertise_new_work<arena::work_spawned>(); in spawn_and_notify() 33 arena* a = tls->my_arena; in spawn() 45 arena* a = tls->my_arena; in spawn() 77 void __TBB_EXPORTED_FUNC submit(d1::task& t, d1::task_group_context& ctx, arena* a, std::uintptr_t … in submit() 116 a->advertise_new_work<arena::work_spawned>(); in submit() 215 arena* a = m_thread_data->my_arena; in co_local_wait_for_all() 236 void task_dispatcher::init_suspend_point(arena* a, std::size_t stack_size) { in init_suspend_point()
|
| H A D | waiters.h | 33 …waiter_base(arena& a, int yields_multiplier = 1) : my_arena(a), my_backoff(int(a.my_num_slots), yi… in my_arena() 49 arena& my_arena; 99 my_arena.advertise_new_work<arena::wakeup>(); in is_worker_should_leave() 123 external_waiter(arena& a, d1::wait_context& wo) in external_waiter()
|
| H A D | thread_data.h | 134 void attach_arena(arena& a, std::size_t index); 135 bool is_attached_to(arena*); 152 arena* my_arena; 205 inline void thread_data::attach_arena(arena& a, std::size_t index) { in attach_arena() 213 inline bool thread_data::is_attached_to(arena* a) { return my_arena == a; } in is_attached_to()
|
| H A D | thread_dispatcher_client.h | 29 …thread_dispatcher_client(arena& a, std::uint64_t aba_epoch) : my_arena(a), my_aba_epoch(aba_epoch)… in thread_dispatcher_client() 56 arena& my_arena;
|
| H A D | permit_manager.h | 28 class arena; variable 34 virtual pm_client* create_client(arena& a) = 0;
|
| H A D | arena_slot.cpp | 129 ed.task_disp->m_thread_data->my_arena->advertise_new_work<arena::wakeup>(); in get_task() 139 ed.task_disp->m_thread_data->my_arena->advertise_new_work<arena::wakeup>(); in get_task() 148 d1::task* arena_slot::steal_task(arena& a, isolation_type isolation, std::size_t slot_index) { in steal_task() 211 a.advertise_new_work<arena::wakeup>(); in steal_task()
|
| H A D | pm_client.h | 28 pm_client(arena& a) : my_arena(a) {} in pm_client() 67 arena& my_arena;
|
| H A D | threading_control.h | 37 class arena; variable 49 threading_control_client create_client(arena& a); 105 threading_control_client create_client(arena& a);
|
| H A D | scheduler_common.h | 60 class arena; variable 365 arena* m_arena{ nullptr }; 435 suspend_point_type(arena* a, std::size_t stack_size, task_dispatcher& target); 503 task_dispatcher(arena* a); in alignas() 544 d1::task* get_stream_or_critical_task(execution_data_ext&, arena&, task_stream<front_accessor>&, in alignas() 547 …d1::task* steal_or_get_critical(execution_data_ext&, arena&, unsigned /*arena_index*/, FastRandom&, in alignas() 558 void init_suspend_point(arena* a, std::size_t stack_size); in alignas()
|
| /oneTBB/test/conformance/ |
| H A D | conformance_task_arena.cpp | 121 oneapi::tbb::task_arena arena(1); variable 122 oneapi::tbb::task_arena copy = arena; 125 REQUIRE(arena.is_active() == copy.is_active()); 132 oneapi::tbb::task_arena arena; variable 141 arena.enqueue(std::move(task_handle)); 150 oneapi::tbb::task_arena arena; variable 157 arena.execute([&]{ in __anon3e0b77410702() 174 oneapi::tbb::task_arena arena; variable 184 arena.execute([&]{ in __anon3e0b77410a02() 202 oneapi::tbb::task_arena arena; variable [all …]
|
| H A D | conformance_arena_constraints.cpp | 29 oneapi::tbb::task_arena arena(oneapi::tbb::task_arena::constraints{numa_index}); 32 arena.execute([&]{ task_done = true; }); in __anonb63cdda60102() 36 arena.enqueue([&]{ task_done = true; }); in __anonb63cdda60202()
|
| /oneTBB/test/tbb/ |
| H A D | test_task_arena.cpp | 628 arena.terminate(); in operator ()() 1594 return lhs.arena < rhs.arena; in operator <() 1818 arena.execute([&ets] { in __anon1d1198c31c02() 1929 tbb::task_arena arena; variable 1932 arena.execute([] { in __anon1d1198c31e02() 1953 arena.execute([&] { in __anon1d1198c32002() 1966 arena.enqueue(enqueue_test_helper(arena, ets, task_counter)); 1971 arena.execute([&] { in __anon1d1198c32202() 2027 tbb::task_arena arena; variable 2029 arena.execute([&]{ in __anon1d1198c32502() [all …]
|
| H A D | test_scheduler_mix.cpp | 418 if (arena.trySet(a)) { in create() 435 if (!find_arena(rnd.get() % maxArenas, [&ts](ArenaPtrRWMutex& arena, std::size_t idx) { in destroy() argument 438 if (lock.tryAcquire(arena, true)) { in destroy() 439 auto a = arena.get(); in destroy() 457 find_arena(0, [](ArenaPtrRWMutex& arena, std::size_t) { in shutdown() argument 458 if (arena.get()) { in shutdown() 459 ScopedLock lock{ arena, true }; in shutdown() 460 auto a = arena.get(); in shutdown() 477 [&ts, &lock, &resIdx](ArenaPtrRWMutex& arena, std::size_t idx) -> tbb::task_arena* { in acquire() argument 479 if (lock.tryAcquire(arena, false)) { in acquire() [all …]
|
| H A D | test_flow_graph.cpp | 286 tbb::task_arena arena(1); in test_graph_arena() local 287 arena.execute( in test_graph_arena() 302 tbb::task_arena arena(p); 303 arena.execute( 315 tbb::task_arena arena(p); 316 arena.execute( 328 tbb::task_arena arena(p); 329 arena.execute(
|
| H A D | test_resumable_tasks.cpp | 345 tbb::task_arena arena; in TestNativeThread() local 348 … utils::NativeParallelFor(arena.max_concurrency() / 2, [&arena, &tg, &asyncActivity, &iter](int) { in TestNativeThread() 350 arena.execute([&tg, &asyncActivity, &iter]() { in TestNativeThread() 359 CHECK(iter == (arena.max_concurrency() / 2 * 10)); in TestNativeThread() 360 arena.execute([&tg](){ in TestNativeThread() 390 tbb::task_arena arena; in TestObservers() local 391 ObserverTracker tracker(arena); in TestObservers() 393 arena.execute([] { in TestObservers()
|
| H A D | test_arena_priorities.cpp | 142 tbb::task_arena& arena = *std::get<arena_pointer>(item).get(); in submit_work() local 147 arena.execute( in submit_work() 172 tbb::task_arena& arena = *std::get<arena_pointer>(item).get(); in wait_work_completion() local 174 arena.execute( [&tg]() { tg->wait(); } ); in wait_work_completion() 250 tbb::task_arena* arena = allocate_and_construct_arena(concurrency, a_priority); in test() local 253 std::unique_ptr<tbb::task_arena>(arena), in test()
|
| H A D | test_flow_graph_priorities.cpp | 196 void call_within_arena( tbb::task_arena& arena ) { in call_within_arena() argument 197 arena.execute( in call_within_arena() 206 tbb::task_arena arena(num_threads); in test() local 207 call_within_arena< function_node<int,int>, Body<int> >( arena ); in test() 208 call_within_arena< multi_node, Body<int> >( arena ); in test() 364 tbb::task_arena arena(cpu_threads); in test() local 365 arena.execute( in test() 510 tbb::task_arena arena( num_threads ); in test() local 511 arena.execute( in test() 758 tbb::task_arena arena( num_threads ); in test() local [all …]
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | attach_flow_graph_to_arena.rst | 8 execution within the arena by setting the preferred computation units, 9 restricting part of computation units, or limiting arena concurrency. In some 12 During its construction, a ``graph`` object attaches to the arena, in which the constructing 27 the task arena instance, inside which the ``graph::reset()`` method is executed. 29 This example shows how to reattach existing graph to an arena with the most performant 31 of the graph, it is spawned in the arena of a graph it is attached to, disregarding 32 the arena of the thread that the task is spawned from:
|
| H A D | Floating_Point_Settings.rst | 11 …gs obtained during the initialization of a ``task_arena`` or the implicit arena of the application… 34 …ontext is not explicitly specified, the settings captured during the task arena initialization are… 37 …ntexts capture floating-point settings, the settings captured during task arena initialization are… 41 * Floating-point settings are applied to all tasks executed within a task arena, if they are captur… 44 * During the arena initialization.
|
| H A D | Guiding_Task_Scheduler_Execution.rst | 13 |full_name| provides the ``task_arena`` interface to guide tasks execution within the arena by: 73 tbb::task_arena arena( 77 arena.execute( [] { 105 tbb::task_arena arena( no_ht_concurrency ); 106 arena.execute( [] { 110 Similarly to the previous example, the number of threads inside the arena is equal to the
|
| /oneTBB/doc/main/tbb_userguide/snippets/ |
| H A D | flow_graph_examples.cpp | 30 tbb::task_arena arena( in flow_graph_attach_to_arena_1() local 34 arena.execute( [&]() { in flow_graph_attach_to_arena_1() 55 tbb::task_arena arena( in flow_graph_attach_to_arena_2() local 59 arena.execute( [&]() { in flow_graph_attach_to_arena_2()
|
| /oneTBB/doc/main/tbb_userguide/Migration_Guide/ |
| H A D | Task_Scheduler_Init.rst | 23 (or *default* if an implicit arena is not initialized) 63 oneapi::tbb::task_arena arena; 64 arena.execute([]{ 86 oneapi::tbb::task_arena arena(4); 87 arena.execute([]{ 89 // This arena is limited with for threads 104 arena.execute([]{
|