Skip to content

Wrap remaining tbb:: calls under tf:: #5

@ZigaSajovic

Description

@ZigaSajovic

Most of our threading is wrapped under tf::, but a few tbb:: calls still leak through. Containing all of it in one place would make it straightforward to swap in taskflow, std::execution, or something else to see how they compare.

Usage Count Files
tbb::parallel_sort ~15 11
tbb::parallel_invoke ~20 9
tbb::task_group ~15 8
tbb::this_task_arena::max_concurrency ~4 4

current_thread_index is already behind tf::local_value, local_buffer, local_vector. Will need attention when porting though—same as how these can't cross task arena boundaries today.

Wrappers

tf::parallel_sort(range);
tf::parallel_sort(first, last, comp);

tf::parallel_invoke(f1, f2, ...);

tf::task_group tg;
tg.run([&] { ... });
tg.wait();

tf::max_concurrency();

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions