| Taskflow: A General-purpose Task-parallel Programming System

Loading...
Searching...
No Matches
Release 2.6.0 (2020/08/25)

Taskflow 2.6.0 is the 8th release in the 2.x line! This release includes several new changes such as CPU-GPU tasking, algorithm collection, enhanced web-based profiler, documentation, and unit tests.

We have a new webpage for Taskflow!

# Download

Taskflow 2.6.0 can be downloaded from here.

# New Features

- added explicit join behavior of tf::Subflow (see Join a Subflow Explicitly and Fibonacci Number)
- added version macro (`TF_VERSION`, `TF_MAJOR_VERSION`, `TF_MINOR_VERSION`, `TF_PATCH_VERSION`) to retrieve version info programmatically (tf::version)
- added `TF_BUILD_TESTS` and `TF_BUILD_EXAMPLES` (default on) to let users disable the build of tests and examples (see Building and Installing)
- renamed tf::Taskflkow::parallel_for to tf::Taskflow::for_each to follow the STL convention
- redesigned tf::Taskflow::for_each and tf::Taskflow::for_each_index using OpenMP-styled scheduling algorithms; this redesign largely improved the performance of parallel-for using a single dynamic task return, but it breaks the previous API that returned a std::pair of tasks to synchronize on a set of static parallel-for tasks. Yet, we believe adopting this change is not difficult (see Parallel Iterations).
- added multiple unit tests for tf::Taskflow::for_each and tf::Taskflow::for_each_index at different partition algorithms; we have implemented our partition algorithms based on the OpenMP library implementation of LLVM and GCC.
- added Mandelbrot application in the benchmark to evaluate the performance of parallel-for
- redesigned tf::Taskflow::reduce and tf::Taskflow::transform_reduce based on the parallel architecture of tf::Taskflow::for_each (see Parallel Reduction).

# Bug Fixes

- fixed the bug of iteratively detaching a subflow from a run loop or a condition loop
- fixed the bug of conflict macro with boost (#184)

# Deprecated Items

- removed two methods, tf::detached and tf::joined, due to the new join/detach behavior

# Miscellaneous Items

- improved the section Observe Thread Activities