Home
last modified time | relevance | path

Searched refs:context (Results 1 – 25 of 41) sorted by relevance

12

/oneTBB/include/oneapi/tbb/
H A Dparallel_invoke.h85 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 Dparallel_for.h100 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 Dparallel_reduce.h76 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 Dtask_group.h504 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 Dparallel_for_each.h196 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 Dparallel_pipeline.h119 …_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 Dcollaborative_call_once.h103 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 Dparallel_sort.h139 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 Dparallel_scan.h256 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 Dfractal.hpp51 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 Dfractal.cpp130 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 Dtask_dispatcher.h102 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 Daddress_waiter.cpp31 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 Dtask_dispatcher.cpp36 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 Dtask.cpp217 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 Dtask_group_context.cpp118 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 Dtest_parallel_pipeline.cpp392 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 Dtest_concurrent_monitor.cpp66 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.h26 …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.h151 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 DFloating_Point_Settings.rst14 …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…
33context 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 Dcancelling_nested_parallelism.rst7 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 Dconformance_parallel_for_each.cpp64 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 Dconformance_parallel_pipeline.cpp75 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 Dconformance_parallel_invoke.cpp98 oneapi::tbb::task_group_context context; variable
99 correctness_test(&context);

12