Release 4.0.0 (Master)
Taskflow 4.0.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 things are considered experimental and may change or break from time to time. While maintaining full consistency can be challenging as new features are added, we continually strive to preserve backward compatibility.
Release Summary
Starting in v4, Taskflow will adopt the C++20 standard for better performance and code efficiency.
Download
To download the newest version of Taskflow, please clone the master branch from Taskflow's GitHub.
System Requirements
To use Taskflow v4.0.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
Taskflow works on Linux, Windows, and Mac OS X.
New Features
Taskflow Core
- replaced
std::in topology with virtual dispatch for better performancefunction - replaced
TF_LIKELY/_UNLIKELYwith C++20 attributes - enhanced the scheduling performance through bulk insertion
- modified the work-stealing queue to support non-pointer type
- fixed compiler warning in Windows MSVC W4 (#737)
- added embarrassing parallelism benchmark
Utilities
Bug Fixes
- fixed the compiler warning in NVCC due to
autofunc argument (#746)
Breaking Changes
Documentation
- added tf::
NonblockingNotifier
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!