| /oneTBB/test/tbb/ |
| H A D | test_arena_priorities.cpp | 46 std::tuple<std::unique_ptr<tbb::task_arena>, 48 tbb::task_arena::priority, 76 tbb::task_arena* result_arena = nullptr; in do_allocate_and_construct() 85 result_arena = new tbb::task_arena; in do_allocate_and_construct() 109 tbb::task_arena* decide_on_arguments( in decide_on_arguments() 111 tbb::task_arena::priority a_priority ) in decide_on_arguments() 113 const tbb::task_arena::priority default_priority = tbb::task_arena::priority::normal; in decide_on_arguments() 133 tbb::task_arena::constraints properties{tbb::task_arena::automatic, arena_max_concurrency}; in allocate_and_construct_arena() 195 tbb::task_arena::priority high = tbb::task_arena::priority::high; in test() 196 tbb::task_arena::priority normal = tbb::task_arena::priority::normal; in test() [all …]
|
| H A D | test_arena_constraints.cpp | 30 tbb::task_arena ta{constraints}; 35 bool is_observer_created(const tbb::task_arena::constraints& c) { in is_observer_created() 41 c.max_threads_per_core != tbb::task_arena::automatic; in is_observer_created() 49 tbb::task_arena current_level_arena{constraints}; in recursive_arena_binding() 82 tbb::task_arena constructed{constraints}; 84 tbb::task_arena copied(constructed); 102 auto constraints = tbb::task_arena::constraints{} 111 tbb::task_arena arena{constraints}; 141 using constraints = tbb::task_arena::constraints; 191 tbb::task_arena::constraints c{}; [all …]
|
| H A D | test_task_arena.cpp | 77 tbb::task_arena arena( tbb::task_arena::automatic ); in InitializeAndTerminate() 185 tbb::task_arena a1; in TestConcurrentArenasFunc() 226 tbb::task_arena &my_a; 240 tbb::task_arena &my_a; 625 tbb::task_arena arena{tbb::task_arena::attach()}; in operator ()() 634 tbb::task_arena arena2{tbb::task_arena::attach()}; in operator ()() 649 tbb::task_arena arena2{tbb::task_arena::attach()}; in operator ()() 656 tbb::task_arena arena2{tbb::task_arena::attach()}; in operator ()() 681 tbb::task_arena a; in TestConstantFunctorRequirement() 978 tbb::task_arena arena{tbb::task_arena::attach()}; in TestEnqueue() [all …]
|
| H A D | test_flow_graph.cpp | 162 inline void check_arena(tbb::task_arena* midway_arena) { in check_arena() 168 tbb::task_arena* midway_arena; 179 tbb::task_arena* midway_arena; 190 tbb::task_arena* midway_arena; 198 tbb::task_arena* midway_arena; 211 tbb::task_arena* midway_arena; 286 tbb::task_arena arena(1); in test_graph_arena() 290 tbb::task_arena midway_arena; in test_graph_arena() 302 tbb::task_arena arena(p); 315 tbb::task_arena arena(p); [all …]
|
| H A D | test_resumable_tasks.cpp | 138 OutermostArenaBody(AsyncActivity& a_, tbb::task_arena& o_, tbb::task_arena& i_ in OutermostArenaBody() 149 tbb::task_arena& nested_arena = (i % 3 == 0) ? in operator ()() 165 tbb::task_arena& m_outermostArena; 166 tbb::task_arena& m_innermostArena; 167 tbb::task_arena& m_innermostArenaDefault; 174 tbb::task_arena outermost_arena; in TestNestedArena() 175 tbb::task_arena innermost_arena(2,2); in TestNestedArena() 176 tbb::task_arena innermost_arena_default; in TestNestedArena() 345 tbb::task_arena arena; in TestNativeThread() 370 ObserverTracker(tbb::task_arena& a) : tbb::task_scheduler_observer(a) { in ObserverTracker() [all …]
|
| H A D | test_scheduler_mix.cpp | 381 using ArenaPtrRWMutex = PtrRWMutex<tbb::task_arena, arenaAligment>; 412 …tbb::task_arena::priority priorities[] = { tbb::task_arena::priority::low , tbb::task_arena::prior… in create() 413 tbb::task_arena::priority priority = priorities[rnd.get() % 3]; in create() 415 …tbb::task_arena* a = new (aligned_malloc(arenaAligment, arenaAligment)) tbb::task_arena{ num_threa… in create() 425 a->~task_arena(); in create() 441 a->~task_arena(); in destroy() 462 a->~task_arena(); in shutdown() 469 std::pair<tbb::task_arena*, std::size_t> acquire(Random& rnd, ScopedLock& lock) { in acquire() 472 tbb::task_arena* a{nullptr}; in acquire() 477 [&ts, &lock, &resIdx](ArenaPtrRWMutex& arena, std::size_t idx) -> tbb::task_arena* { in acquire()
|
| H A D | test_flow_graph_priorities.cpp | 196 void call_within_arena( tbb::task_arena& arena ) { in call_within_arena() 206 tbb::task_arena arena(num_threads); in test() 364 tbb::task_arena arena(cpu_threads); in test() 510 tbb::task_arena arena( num_threads ); in test() 551 using tbb::task_arena; 561 task_arena** my_inner_arena; 562 OuterBody( int max_threads, task_arena** inner_arena ) in OuterBody() 584 void execute_outer_graph( bool same_arena, task_arena& inner_arena, int max_threads, in execute_outer_graph() 601 void test_in_arena( int max_threads, task_arena& outer_arena, task_arena& inner_arena, in test_in_arena() 617 task_arena outer_arena; task_arena inner_arena; in test() [all …]
|
| H A D | test_eh_algorithms.cpp | 391 tbb::task_arena a(g_NumThreads); 412 tbb::task_arena a(g_NumThreads); 433 tbb::task_arena a(g_NumThreads); 454 tbb::task_arena a(g_NumThreads); 475 tbb::task_arena a(g_NumThreads); 687 tbb::task_arena a(g_NumThreads); 708 tbb::task_arena a(g_NumThreads); 729 tbb::task_arena a(g_NumThreads); 750 tbb::task_arena a(g_NumThreads); 1043 tbb::task_arena a(g_NumThreads); [all …]
|
| H A D | test_task.cpp | 516 tbb::task_arena test_arena(num_threads_in_test_arena); 586 tbb::task_arena test_arena; 671 tbb::task_arena test_arena{int(std::thread::hardware_concurrency() + 1)}; 696 tbb::task_arena test_arena2(tbb::task_arena::attach{}); 727 tbb::task_arena& my_arena; 731 …resubmitting_task(tbb::task_arena& arena, tbb::task_group_context& ctx) : my_arena(arena), my_ctx(… in resubmitting_task() 754 tbb::task_arena test_arena(2 * thread_number, thread_number); 833 tbb::task_arena a(2, 0);
|
| /oneTBB/test/conformance/ |
| H A D | conformance_task_arena.cpp | 39 oneapi::tbb::task_arena a(1,1); a.initialize(); 51 oneapi::tbb::task_arena attached_arena{oneapi::tbb::task_arena::attach()}; in __anon3e0b77410202() 53 oneapi::tbb::task_arena attached_arena2{oneapi::tbb::attach()}; in __anon3e0b77410202() 85 conformance_observer( oneapi::tbb::task_arena &a ) : oneapi::tbb::task_scheduler_observer(a) { in conformance_observer() 110 oneapi::tbb::task_arena a; a.initialize(); 121 oneapi::tbb::task_arena arena(1); 122 oneapi::tbb::task_arena copy = arena; 132 oneapi::tbb::task_arena arena; 150 oneapi::tbb::task_arena arena; 174 oneapi::tbb::task_arena arena; [all …]
|
| H A D | conformance_arena_constraints.cpp | 29 oneapi::tbb::task_arena arena(oneapi::tbb::task_arena::constraints{numa_index});
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | Guiding_Task_Scheduler_Execution.rst | 19 it to the ``task_arena`` instance during the construction or initialization. 26 - The level of ``task_arena`` concurrency 41 assign a NUMA node identifier to the ``task_arena::constraints::numa_id`` field. 46 std::vector<tbb::task_arena> arenas(numa_indexes.size()); 50 arenas[j].initialize(tbb::task_arena::constraints(numa_indexes[j])); 73 tbb::task_arena arena( 74 tbb::task_arena::constraints{}.set_core_type(core_types.back()) 92 tbb::task_arena no_ht_arena( tbb::task_arena::constraints{}.set_max_threads_per_core(1) ); 98 concurrency of the ``tbb::task_arena``: 103 tbb::task_arena::constraints{}.set_max_threads_per_core(1) [all …]
|
| H A D | attach_flow_graph_to_arena.rst | 7 |short_name| ``task_arena`` interface provides mechanisms to guide tasks 25 A ``graph`` object can be reattached to a different ``task_arena`` by calling
|
| H A D | Floating_Point_Settings.rst | 8 * When a ``task_arena`` or a task scheduler for a given application thread is initialized, they cap… 11 …ion of a ``task_arena`` or the implicit arena of the application thread. The settings are applied …
|
| /oneTBB/python/tbb/ |
| H A D | api.i | 64 task_arena *my_arena; 66 ArenaPyCaller(task_arena *a, PyObject *c) : my_arena(a), my_callable(c) { in ArenaPyCaller() 82 void _concurrency_barrier(int threads = tbb::task_arena::automatic) { 83 if(threads == tbb::task_arena::automatic) 110 void _concurrency_barrier(int threads = tbb::task_arena::automatic); 114 class task_arena { 117 task_arena(int max_concurrency = automatic, unsigned reserved_for_masters = 1); 118 task_arena(const task_arena &s); 119 ~task_arena(); 138 void run( PyObject *c, task_arena *a ) { $self->run(ArenaPyCaller(a, c)); } in run()
|
| /oneTBB/test/common/ |
| H A D | common_arena_constraints.h | 391 system_info::affinity_mask prepare_reference_affinity_mask(const tbb::task_arena::constraints& c) { in prepare_reference_affinity_mask() 395 if (c.numa_id != tbb::task_arena::automatic) { in prepare_reference_affinity_mask() 405 if (c.core_type != tbb::task_arena::automatic) { in prepare_reference_affinity_mask() 417 void test_constraints_affinity_and_concurrency(tbb::task_arena::constraints constraints, in test_constraints_affinity_and_concurrency() 455 system_info::affinity_mask get_arena_affinity(tbb::task_arena& ta) { in get_arena_affinity() 492 std::size_t operator()(const tbb::task_arena::constraints& c) const { in operator() 498 …bool operator()(const tbb::task_arena::constraints& c1, const tbb::task_arena::constraints& c2) co… in operator() 510 using constraints = tbb::task_arena::constraints; in generate_constraints_variety() 514 numa_nodes.push_back((tbb::numa_node_id)tbb::task_arena::automatic); in generate_constraints_variety() 518 core_types.push_back((tbb::core_type_id)tbb::task_arena::automatic); in generate_constraints_variety() [all …]
|
| /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() 31 tbb::task_arena::constraints{}.set_core_type(core_types.back()) in flow_graph_attach_to_arena_1() 55 tbb::task_arena arena( in flow_graph_attach_to_arena_2() 56 tbb::task_arena::constraints{}.set_core_type(core_types.back()) in flow_graph_attach_to_arena_2()
|
| /oneTBB/doc/main/tbb_userguide/Migration_Guide/ |
| H A D | Task_Scheduler_Init.rst | 18 …s the maximum concurrency that will be created by *default* in implicit or explicit ``task_arena``. 21 …<https://spec.oneapi.com/versions/latest/elements/oneTBB/source/task_scheduler/task_arena/this_tas… 32 * `task_arena(/* max_concurrency */) 33 …<https://spec.oneapi.com/versions/latest/elements/oneTBB/source/task_scheduler/task_arena/this_tas… 34 limits the maximum concurrency of the parallel algorithm running inside ``task_arena`` 49 #include <oneapi/tbb/task_arena.h> 62 // Create the default task_arena 63 oneapi::tbb::task_arena arena; 80 #include <oneapi/tbb/task_arena.h> 85 // Create the custom task_arena with four threads [all …]
|
| /oneTBB/include/oneapi/tbb/ |
| H A D | task_arena.h | 240 class task_arena : public task_arena_base { 261 task_arena(int max_concurrency_ = automatic, unsigned reserved_for_masters = 1, 268 task_arena(const constraints& constraints_, unsigned reserved_for_masters = 1, 274 task_arena(const task_arena &s) // copy settings but not the reference or instance in task_arena() function 285 task_arena(const task_arena& a) // copy settings but not the reference or instance in task_arena() function 294 explicit task_arena( attach ) in task_arena() function 303 explicit task_arena(d1::attach) in task_arena() function 304 : task_arena(attach{}) in task_arena() 372 ~task_arena() { in ~task_arena() 435 friend void submit(task& t, task_arena& ta, task_group_context& ctx, bool as_critical) { in submit() [all …]
|
| H A D | task_scheduler_observer.h | 57 task_arena* my_task_arena{ nullptr }; 85 explicit task_scheduler_observer(task_arena& a) : my_task_arena(&a) {} in task_scheduler_observer()
|
| /oneTBB/doc/main/tbb_userguide/design_patterns/ |
| H A D | GUI_Thread.rst | 65 method ``task_arena::enqueue`` of a ``task_arena`` instance. 158 using method ``task_arena::enqueue``. 177 oneapi::tbb::task_arena a; 182 It is essential to use method ``task_arena::enqueue`` here. 183 Even though, an explicit ``task_arena`` instance is created,
|
| /oneTBB/src/tbb/ |
| H A D | arena.cpp | 40 …numa_binding_observer( d1::task_arena* ta, int num_slots, int numa_id, core_type_id core_type, int… in numa_binding_observer() 58 numa_binding_observer* construct_binding_observer( d1::task_arena* ta, int num_slots, int numa_id, … in construct_binding_observer() 474 void assert_arena_priority_valid( tbb::task_arena::priority a_priority ) { in assert_arena_priority_valid() 476 a_priority == tbb::task_arena::priority::high || in assert_arena_priority_valid() 477 a_priority == tbb::task_arena::priority::normal || in assert_arena_priority_valid() 478 a_priority == tbb::task_arena::priority::low; in assert_arena_priority_valid() 483 void assert_arena_priority_valid( tbb::task_arena::priority ) {} 486 unsigned arena_priority_level( tbb::task_arena::priority a_priority ) { in arena_priority_level() 491 tbb::task_arena::priority arena_priority( unsigned priority_level ) { in arena_priority() 492 auto priority = tbb::task_arena::priority( in arena_priority() [all …]
|
| H A D | tcm_adaptor.cpp | 177 if (constraints.core_type != d1::task_arena::automatic || in init() 178 constraints.numa_id != d1::task_arena::automatic || in init() 179 constraints.max_threads_per_core != d1::task_arena::automatic) in init()
|
| /oneTBB/include/oneapi/tbb/detail/ |
| H A D | _flow_graph_impl.h | 244 my_task_arena->initialize(task_arena::attach()); 248 my_task_arena = new task_arena(task_arena::attach()); 348 task_arena* my_task_arena;
|
| /oneTBB/examples/task_arena/ |
| H A D | README.md | 2 Examples using the `task_arena` feature.
|