Release 3.3.0 (Master)
Contents
Taskflow 3.3.0 is the newest developing line to new features and improvements we continue to support. It is also where this documentation is generated. Many things are considered experimental and may change or break from time to time. While it may be difficult to be keep all things consistent when introducing new features, we continue to try our best to ensure backward compatibility.
Download
To download the newest version of Taskflow, please clone from Taskflow's GitHub.
System Requirements
To use Taskflow v3.3.0, you need a compiler that supports C++17:
- GNU C++ Compiler at least v8.4 with -std=c++17
- Clang C++ Compiler at least v6.0 with -std=c++17
- Microsoft Visual Studio at least v19.27 with /std:c++17
- AppleClang Xode Version at least v12.0 with -std=c++17
- Nvidia CUDA Toolkit and Compiler (nvcc) at least v11.1 with -std=c++17
- Intel C++ Compiler at least v19.0.1 with -std=c++17
- Intel DPC++ Clang Compiler at least v13.0.0 with -std=c++17 and SYCL20
Taskflow works on Linux, Windows, and Mac OS X.
Release Summary
This release has resolved data race issues reported by tsan and has incorporated essential sanitizers into the continuous integration workflows for detecting data race, illegal memory access, and memory leak of the Taskflow codebase.
New Features
Taskflow Core
- Changed all lambda operators in parallel algorithms to copy by default
- Cleaned up data race errors in tsan caused by incorrect memory order
- Added tf::
Task:: data to allow associating a task with user-level data
cudaFlow
syclFlow
CUDA Standard Parallel Algorithms
Utilities
Taskflow Profiler (TFProf)
Bug Fixes
- Fixed memory leak in updating tf::
cudaFlowCapturer of undestroyed graph - Fixed invalid lambda capture by reference in tf::
Taskflow:: sort
Breaking Changes
Deprecated and Removed Items
Documentation
Miscellaneous Items
We have published Taskflow in the following journal:
- Tsung-Wei Huang, Dian-Lun Lin, Chun-Xun Lin, and Yibo Lin, "Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing System," IEEE Transactions on Parallel and Distributed Systems (TPDS), 2021