| /oneTBB/include/oneapi/tbb/ |
| H A D | parallel_invoke.h | 85 my_execution_context(context), in invoke_subroot_task() 142 execute_and_wait(invoker1, context, root_wait_ctx, context); in invoke_recursive_separation() 152 spawn(invoker1, context); in invoke_recursive_separation() 153 execute_and_wait(invoker2, context, root_wait_ctx, context); in invoke_recursive_separation() 165 spawn(invoker1, context); in invoke_recursive_separation() 166 spawn(invoker2, context); in invoke_recursive_separation() 167 execute_and_wait(invoker3, context, root_wait_ctx, context); in invoke_recursive_separation() 175 spawn(*sub_root, context); in invoke_recursive_separation() 177 invoke_recursive_separation(root_wait_ctx, context, fs...); in invoke_recursive_separation() 185 invoke_recursive_separation(root_wait_ctx, context, fs...); in parallel_invoke_impl() [all …]
|
| H A D | parallel_for.h | 100 task_group_context context(PARALLEL_FOR); in run() 101 run(range, body, partitioner, context); in run() 112 execute_and_wait(for_task, context, wn.m_wait, context); in run() 144 my_partition.spawn_task(*this, *context(ed)); in spawn_self() 268 void parallel_for( const Range& range, const Body& body, task_group_context& context ) { in __TBB_requires() 277 start_for<Range,Body,const simple_partitioner>::run(range, body, partitioner, context); in __TBB_requires() 285 start_for<Range,Body,const auto_partitioner>::run(range, body, partitioner, context); in __TBB_requires() 301 start_for<Range,Body,affinity_partitioner>::run(range,body,partitioner, context); in __TBB_requires() 390 parallel_for(range, body, partitioner, context); in parallel_for_impl() 422 parallel_for_impl(first, last, step, f, partitioner, context); in __TBB_requires() [all …]
|
| H A D | parallel_reduce.h | 76 void join(task_group_context* context) { in join() 143 execute_and_wait(*reduce_task, context, wn.m_wait, context); in run() 149 task_group_context context(PARALLEL_REDUCE); in run() 150 run(range, body, partitioner, context); in run() 242 void join(task_group_context* context) { in join() 288 execute_and_wait(*deterministic_reduce_task, context, wn.m_wait, context); in run() 295 task_group_context context(PARALLEL_REDUCE); in run() 296 run(range, body, partitioner, context); in run() 728 task_group_context& context ) { in __TBB_requires() 741 ::run(range, body, partitioner, context); in __TBB_requires() [all …]
|
| H A D | task_group.h | 504 execute_and_wait(t, context(), m_wait_ctx, context()); in internal_run_and_wait() 508 context().reset(); in internal_run_and_wait() 521 execute_and_wait(*acs::release(h), context(), m_wait_ctx, context()); in internal_run_and_wait() 525 context().reset(); in internal_run_and_wait() 537 task_group_context& context() noexcept { in context() function 573 d1::wait(m_wait_ctx, context()); in noexcept() 586 context().reset(); in wait() 592 context().cancel_group_execution(); in cancel() 612 spawn(*acs::release(h), context()); in run() 634 task_group_context& context; variable [all …]
|
| H A D | parallel_for_each.h | 196 feeder_impl(const Body& body, wait_context& w_context, task_group_context &context) in feeder_impl() argument 199 , my_execution_context(context) in feeder_impl() 468 : my_feeder(body, w_context, context) {} 631 execute_and_wait(root_task, context, w_context, context); 662 task_group_context context(PARALLEL_FOR_EACH); 663 run_parallel_for_each<Iterator, Body>(first, last, body, context); 683 run_parallel_for_each<Iterator, Body>(first, last, body, context); 688 void parallel_for_each(Range& rng, const Body& body, task_group_context& context) { 689 parallel_for_each(std::begin(rng), std::end(rng), body, context); 694 void parallel_for_each(const Range& rng, const Body& body, task_group_context& context) { [all …]
|
| H A D | parallel_pipeline.h | 119 …_t max_number_of_live_tokens, const filter<void,void>& filter_chain, task_group_context& context) { in parallel_pipeline() argument 120 r1::parallel_pipeline(context, max_number_of_live_tokens, *filter_chain.my_root); in parallel_pipeline() 126 task_group_context context; in parallel_pipeline() local 127 parallel_pipeline(max_number_of_live_tokens, filter_chain, context); in parallel_pipeline()
|
| H A D | collaborative_call_once.h | 103 task_group_context context{ task_group_context::bound, in alignas() 111 execute_and_wait(t, context, m_storage.m_wait_context, context); in alignas()
|
| H A D | parallel_sort.h | 139 task_group_context& context; variable 146 …test_body( const Compare& _comp, task_group_context& _context ) : comp(_comp), context(_context) {} in quick_sort_pretest_body() 154 if( i % 64 == 0 && context.is_group_execution_cancelled() ) break; in operator() 158 context.cancel_group_execution(); in operator()
|
| H A D | parallel_scan.h | 256 spawn(*right_child, *ed.context); in execute() 427 task_group_context context(PARALLEL_SCAN); in run() 439 execute_and_wait(pass1, context, w_ctx, context); in run() 443 execute_and_wait(*root, context, w_ctx, context); in run() 489 spawn(right_child, *ed.context); in execute()
|
| /oneTBB/examples/task_arena/fractal/ |
| H A D | fractal.hpp | 51 void render(oneapi::tbb::task_group_context &context); 64 void run(oneapi::tbb::task_group_context &context); 108 oneapi::tbb::task_group_context context[2]; member in fractal_group 152 context[active].cancel_group_execution(); in active_fractal_zoom_in() 156 context[active].cancel_group_execution(); in active_fractal_zoom_out() 160 context[active].cancel_group_execution(); in active_fractal_quality_inc() 164 context[active].cancel_group_execution(); in active_fractal_quality_dec() 168 context[active].cancel_group_execution(); in active_fractal_move_up() 172 context[active].cancel_group_execution(); in active_fractal_move_down() 176 context[active].cancel_group_execution(); in active_fractal_move_left() [all …]
|
| H A D | fractal.cpp | 130 void fractal::render(oneapi::tbb::task_group_context &context) { in render() argument 142 context); in render() 148 context); in render() 151 void fractal::run(oneapi::tbb::task_group_context &context) { in run() argument 153 context.reset(); in run() 154 render(context); in run() 167 f.run(context[num]); in calc_fractal()
|
| /oneTBB/src/tbb/ |
| H A D | task_dispatcher.h | 102 task_accessor::context(m_resume_task) = m_arena->my_default_ctx; in suspend_point_type() 115 m_execute_data_ext.context = a->my_default_ctx; in task_dispatcher() 163 ed.context = task_accessor::context(*t); in steal_or_get_critical() 226 ed.context = task_accessor::context(*t); in receive_or_steal_task() 276 ed.context = t ? task_accessor::context(*t) : nullptr; in local_wait_for_all() 298 context_guard.set_ctx(ed.context); in local_wait_for_all() 315 void* itt_caller = ed.context->my_itt_caller; in local_wait_for_all() 346 ed.context = task_accessor::context(*t); in local_wait_for_all() 361 if (ed.context->cancel_group_execution()) { in local_wait_for_all() 416 r1::spawn(*t, *ed.context); in get_critical_task() [all …]
|
| H A D | address_waiter.cpp | 31 address_context(void* address, std::uintptr_t context) : in address_context() 32 my_address(address), my_context(context) in address_context() 69 void wait_on_address(void* address, d1::delegate_base& predicate, std::uintptr_t context) { in wait_on_address() argument 71 waiter.wait<address_waiter::thread_context>(predicate, address_context{address, context}); in wait_on_address()
|
| H A D | task_dispatcher.cpp | 36 task_accessor::context(t) = &ctx; in spawn() 50 task_accessor::context(t) = &ctx; in spawn() 84 task_accessor::context(t) = &ctx; in submit() 120 task_accessor::context(t) = &t_ctx; in execute_and_wait() 149 return td->my_task_dispatcher->m_execute_data_ext.context; in current_context() 161 task_group_context_impl::bind_to(*task_accessor::context(*t), tls); in execute_and_wait()
|
| H A D | task.cpp | 217 auto is_related_wait_ctx = [&] (market_context context) { in notify_waiters() argument 218 return wait_ctx_addr == context.my_uniq_addr; in notify_waiters()
|
| H A D | task_group_context.cpp | 118 ctx.my_parent = td->my_task_dispatcher->m_execute_data_ext.context; in bind_to_impl() 180 __TBB_ASSERT(td->my_task_dispatcher->m_execute_data_ext.context != nullptr, nullptr); in bind_to() 182 …if (td->my_task_dispatcher->m_execute_data_ext.context == td->my_arena->my_default_ctx || !ctx.my_… in bind_to()
|
| /oneTBB/test/tbb/ |
| H A D | test_parallel_pipeline.cpp | 392 void run_function_spec(Context&... context) { in run_function_spec() argument 411 context... in run_function_spec() 424 Context&... context) { in run_filter_set() 472 context... ); in run_filter_set() 520 context... in run_lambdas_test() 543 context... in run_lambdas_test() 565 context... in run_lambdas_test() 586 context... in run_lambdas_test() 631 tbb::task_group_context context; in run_function() local 655 tbb::task_group_context context; variable [all …]
|
| H A D | test_concurrent_monitor.cpp | 66 tbb::detail::r1::concurrent_monitor::thread_context context{std::uintptr_t(1)}; in __anon1eb8c3140102() local 67 test_monitor.prepare_wait(context); in __anon1eb8c3140102() 69 test_monitor.cancel_wait(context); in __anon1eb8c3140102()
|
| /oneTBB/include/oneapi/tbb/detail/ |
| H A D | _waitable_atomic.h | 26 …D_FUNC wait_on_address(void* address, d1::delegate_base& wakeup_condition, std::uintptr_t context); 27 TBB_EXPORT void __TBB_EXPORTED_FUNC notify_by_address(void* address, std::uintptr_t context); 35 void adaptive_wait_on_address(void* address, Predicate wakeup_condition, std::uintptr_t context) { in adaptive_wait_on_address() argument 38 r1::wait_on_address(address, pred, context); in adaptive_wait_on_address() 60 void wait(T old, std::uintptr_t context, std::memory_order order) { in wait() argument 67 r1::wait_on_address(this, pred, context); in wait()
|
| H A D | _task.h | 151 task_group_context* context{}; 156 inline task_group_context* context(const execution_data& ed) { in context() function 157 return ed.context; in context()
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | Floating_Point_Settings.rst | 14 …vior, a thread may capture the current settings in a task group context. Do it at context creation… 30 You can then pass the task group context to most parallel algorithms, including ``flow::graph``, to… 33 …context prevail over the settings captured during task scheduler initialization. It means, if a co… 34 Otherwise, if floating-point settings are not captured to the context, or a context is not explicit… 36 In a nested call to a parallel algorithm that does not use the context of a task group with explici… 43 * To a task group context.
|
| H A D | cancelling_nested_parallelism.rst | 7 Nested parallelism is canceled if the inner context is bound to the 8 outer context; otherwise it is not. 20 graph, it is created with an isolated context by default.
|
| /oneTBB/test/conformance/ |
| H A D | conformance_parallel_for_each.cpp | 64 void WorkProducingTest(Context&... context) { in WorkProducingTest() argument 72 oneapi::tbb::parallel_for_each(v.begin(), v.end(), set_to<0>(), context...); in WorkProducingTest() 79 oneapi::tbb::parallel_for_each(v, set_to<1>(), context...); in WorkProducingTest() 86 …pi::tbb::blocked_range<std::deque<size_t>::iterator>(v.begin(), v.end()), set_to<0>(), context...); in WorkProducingTest() 159 oneapi::tbb::task_group_context context; variable 160 WorkProducingTest(context);
|
| H A D | conformance_parallel_pipeline.cpp | 75 void TestSingleFilter(Body body, Cotnext&... context) { in TestSingleFilter() argument 82 oneapi::tbb::parallel_pipeline( n_tokens, one_filter, context... ); in TestSingleFilter() 84 …neapi::tbb::parallel_pipeline( n_tokens, oneapi::tbb::filter<void, void>(mode, body), context... ); in TestSingleFilter() 86 …i::tbb::parallel_pipeline( n_tokens, oneapi::tbb::make_filter<void, void>(mode, body), context...); in TestSingleFilter() 96 oneapi::tbb::task_group_context context; in TestSingleFilterFunctor() local 97 TestSingleFilter(i_filter, context); in TestSingleFilterFunctor() 111 oneapi::tbb::task_group_context context; in TestSingleFilterLambda() local 117 }, context); in TestSingleFilterLambda()
|
| H A D | conformance_parallel_invoke.cpp | 98 oneapi::tbb::task_group_context context; variable 99 correctness_test(&context);
|