release-3-4-0 Release 3.4.0 (2022/05/23) Download release-3-4-0_1release-3-4-0_download System Requirements release-3-4-0_1release-3-4-0_system_requirements Release Summary release-3-4-0_1release-3-4-0_summary New Features release-3-4-0_1release-3-4-0_new_features Taskflow Core release-3-4-0_1release-3-4-0_taskflow_core cudaFlow release-3-4-0_1release-3-4-0_cudaflow syclFlow release-3-4-0_1release-3-4-0_syclflow Utilities release-3-4-0_1release-3-4-0_utilities Bug Fixes release-3-4-0_1release-3-4-0_bug_fixes Breaking Changes release-3-4-0_1release-3-4-0_breaking_changes Deprecated and Removed Items release-3-4-0_1release-3-4-0_deprecated_items Documentation release-3-4-0_1release-3-4-0_documentation Miscellaneous Items release-3-4-0_1release-3-4-0_miscellaneous_items Taskflow 3.4.0 is the 5th release in the 3.x line! This release includes several new changes, such as pipeline parallelism, deadlock-free execution methods, documentation, examples, and unit tests. Download Taskflow 3.4.0 can be downloaded from here. System Requirements To use Taskflow v3.4.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 Xcode 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 enhances our task-parallel pipeline programming model and executor methods, supplied with several new examples and unit tests. New Features Taskflow Core Improved the pipeline performance using vertical stack optimization Added tf::ScalablePipeline to allow programming variable lengths of pipes Added tf::Runtime::run_and_wait to allow spawning a subflow Added tf::Executor::run_and_wait to allow running taskflows from a worker Added an example of attaching data to a task (examples/attach_data.cpp) Added an example of text processing pipeline (examples/parallel_text_pipeline.cpp) Added an example of graph processing pipeline (examples/parallel_graph_pipeline.cpp) Added an example of taskflow processing pipeline (examples/parallel_taskflow_pipeline.cpp) Added an example of running a task graph from a worker (examples/run_and_wait.cpp) cudaFlow Added tf::cudaStream as a move-only, RAII-styled wrapper over a native CUDA stream Added tf::cudaEvent as a move-only, RAII-styled wrapper over a native CUDA event syclFlow There is no update on syclFlow in this release. Utilities Removed serializer to improve compilation speed Bug Fixes Fixed the compilation error due to non-portable include of immintrin.h (#371) Fixed the compilation error due to using old version of doctest (#372) Fixed the infinite loop bug due to unexpected share states in pipeline (#402) If you encounter any potential bugs, please submit an issue at issue tracker. Breaking Changes Replaced tf::Runtime::run with tf::Runtime::run_and_wait to comply with tf::Executor::run_and_wait Deprecated and Removed Items There are no deprecated items in this release. Documentation Revised Executor Added Execute a Taskflow from an Internal Worker Revised Execution Policy Revised Task-parallel Pipeline Added Learn More about Taskflow Pipeline Revised Learning from Examples Added Text Processing Pipeline Added Graph Processing Pipeline Added Taskflow Processing Pipeline Added Task-parallel Scalable Pipeline Miscellaneous Items We have published Taskflow in the following venues: Dian-Lun Lin and Tsung-Wei Huang, "Accelerating Large Sparse Neural Network Inference using GPU Task Graph Parallelism," IEEE Transactions on Parallel and Distributed Systems (TPDS), 2022 Cheng-Hsiang Chiu and Tsung-Wei Huang, "Composing Pipeline Parallelism using Control Taskflow Graph," ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC), Minneapolis, Minnesota, 2022 Cheng-Hsiang Chiu and Tsung-Wei Huang, "Efficient Timing Propagation with Simultaneous Structural and Pipeline Parallelisms," ACM/IEEE Design Automation Conference (DAC), San Francisco, CA, 2022 Please do not hesitate to contact Dr. Tsung-Wei Huang if you intend to collaborate with us on using Taskflow in your scientific computing projects.