Release Notes » Release 2.5.0 (2020/06/01)

Starting from v2.5.0, we have renamed Cpp-Taskflow to Taskflow to broaden its impact and support. Taskflow will explore multiple scopes of applications and language bindings, rather than just C++. This also made Taskflow naming more succinct and concise.

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

Download

Taskflow 2.5.0 can be downloaded from here.

To download the newest version of Taskflow, please clone from Taskflow's GitHub.

New Features

  • enhanced the performance of the work-stealing algorithm
  • enhanced the interface of concurrent CPU-GPU tasking (added tf::cudaFlow::zero, tf::cudaFlow::memset, tf::cudaFlow::memcpy, tf::cudaFlow::fill)
  • enhanced unittests for tf::cudaFlow
  • added per-thread stream to avoid synchronizing with the default stream in running a cudaFlow
  • added tf::cudaFlow::repeat and tf::cudaFlow::predicate for iterative execution of a cudaFlow
  • added Learning from Examples pages
  • made observer a std::shared_ptr object
  • enabled multiple observers to coexit in an executor
  • created the TFProf project (image below) to provide visualization and tooling needed for Taskflow programs
Image

Bug Fixes

  • fixed the bug in assigning the block pointer before constructor of an object in object pool
  • fixed the namespace conflicting in using MPark.Variant from upstream code

Miscellaneous Items

  • fixed the warning between unsigned and size_t conversion in tf::Executor
  • submitted the technical paper to arXiv