Release Notes » Release 3.0.0 (2021/01/01)

Taskflow 3.0.0 is the 1st release in the 3.x line! This release includes several new changes such as CPU-GPU tasking, algorithm collection, enhanced web-based profiler, documentation, and unit tests.


Taskflow 3.0.0 can be downloaded from here.

System Requirements

To use Taskflow v3.0.0, you need a compiler that supports C++17:

  • GNU C++ Compiler at least v7.0 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 (nvcc) at least v19.0.1 with -std=c++17

Taskflow works on Linux, Windows, and Mac OS X.

Working Items

  • enhancing the taskflow profiler (TFProf)
  • adding methods for updating tf::cudaFlow (with unit tests)
  • adding support for cuBLAS
  • adding support for cuDNN
  • adding support for SYCL (ComputeCpp and DPC++)

New Features

Taskflow Core



  • added utility functions to grab the cuda device properties (see cuda_device.hpp)
  • added utility functions to control cuda memory (see cuda_memory.hpp)
  • added utility functions for common mathematics operations
  • added serializer and deserializer libraries to support tfprof
  • added per-thread pool for CUDA streams to improve performance

Taskflow Profiler (TFProf)

  • added visualization for asynchronous tasks
  • added server-based profiler to support large profiling data (see Profile Taskflow Programs)

New Algorithms

CPU Algorithms

GPU Algorithms

Bug Fixes

  • fixed the bug in stream capturing (need to use ThreadLocal mode)
  • fixed the bug in reporting wrong worker ids when compiling a shared library due to the use of thread_local (now with C++17 inline variable)

Breaking Changes

Deprecated and Removed Items


Miscellaneous Items

We have presented Taskflow in the following C++ venues with recorded videos:

We have published Taskflow in the following conferences and journals: