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
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