Release 4.1.0 (Master)
Taskflow 4.1.0 is the newest developing line to new features and improvements are actively introduced and supported. It is also where this documentation is generated. Many features are experimental and may change. While we strive for backward compatibility, breaking changes may occur when necessary to improve performance or simplify the software architecture.
Release Summary
Download
To download the newest version of Taskflow, please clone the master branch from Taskflow's GitHub.
System Requirements
To use Taskflow v4.1.0, you need a compiler that supports C++20:
- GNU C++ Compiler at least v11.0 with -std=c++20
- Clang C++ Compiler at least v12.0 with -std=c++20
- Microsoft Visual Studio at least v19.29 (VS 2019) with /std:c++20
- Apple Clang (Xcode) at least v13.0 with -std=c++20
- NVIDIA CUDA Toolkit and Compiler (nvcc) at least v12.0 with host compiler supporting C++20
- Intel oneAPI DPC++/C++ Compiler at least v2022.0 with -std=c++20
New Features
Taskflow Core
- added bulk cache update method in executor
- added more unit tests to
test_notifiers.cpp - optimized executor member variable data layout to reduce false sharing
- aligned
num_topologiesto a cache line - aligned
notifierto a cache line
- aligned
- optimized tf::
Executor:: run(Taskflow&&)` with asynchronous tasking - removed satellite field from both taskflow and executor classes
- optimized the locking cost of topology
- optimized the performance of async tasking with the per-worker task pool
Utilities
- removed
floor_log2due to duplication with C++20std::bit_width
Bug Fixes
Breaking Changes
- removed tf::floor_log2 as std::bit_width exists in C++20
Documentation
- revised Cookbook
- added video tutorials
Miscellaneous Items
If you are interested in collaborating with us on applying Taskflow to your projects, please feel free to reach out to Dr. Tsung-Wei Huang!