Home
last modified time | relevance | path

Searched refs:arena (Results 1 – 25 of 68) sorted by relevance

123

/oneTBB/src/tbb/
H A Darena.cpp286 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 Darena.h271 class arena: public padded<arena_base>
284arena(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 Dtask.cpp55 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 Dtask_dispatcher.cpp24 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 Dwaiters.h33 …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 Dthread_data.h134 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 Dthread_dispatcher_client.h29 …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 Dpermit_manager.h28 class arena; variable
34 virtual pm_client* create_client(arena& a) = 0;
H A Darena_slot.cpp129 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 Dpm_client.h28 pm_client(arena& a) : my_arena(a) {} in pm_client()
67 arena& my_arena;
H A Dthreading_control.h37 class arena; variable
49 threading_control_client create_client(arena& a);
105 threading_control_client create_client(arena& a);
H A Dscheduler_common.h60 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 Dconformance_task_arena.cpp121 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 Dconformance_arena_constraints.cpp29 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 Dtest_task_arena.cpp628 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 Dtest_scheduler_mix.cpp418 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 Dtest_flow_graph.cpp286 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 Dtest_resumable_tasks.cpp345 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 Dtest_arena_priorities.cpp142 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 Dtest_flow_graph_priorities.cpp196 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 Dattach_flow_graph_to_arena.rst8 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 DFloating_Point_Settings.rst11 …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 DGuiding_Task_Scheduler_Execution.rst13 |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 Dflow_graph_examples.cpp30 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 DTask_Scheduler_Init.rst23 (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([]{

123