mesytec-mnode/external/taskflow-3.8.0/doxygen/releases/release-3.4.0.dox
2025-01-04 01:25:05 +01:00

104 lines
4.7 KiB
Text

namespace tf {
/** @page release-3-4-0 Release 3.4.0 (2022/05/23)
%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.
@tableofcontents
@section release-3-4-0_download Download
%Taskflow 3.4.0 can be downloaded from <a href="https://github.com/taskflow/taskflow/releases/tag/v3.4.0">here</a>.
@section release-3-4-0_system_requirements System Requirements
To use %Taskflow v3.4.0, you need a compiler that supports C++17:
@li GNU C++ Compiler at least v8.4 with -std=c++17
@li Clang C++ Compiler at least v6.0 with -std=c++17
@li Microsoft Visual Studio at least v19.27 with /std:c++17
@li AppleClang Xcode Version at least v12.0 with -std=c++17
@li Nvidia CUDA Toolkit and Compiler (nvcc) at least v11.1 with -std=c++17
@li Intel C++ Compiler at least v19.0.1 with -std=c++17
@li Intel DPC++ Clang Compiler at least v13.0.0 with -std=c++17 and SYCL20
%Taskflow works on Linux, Windows, and Mac OS X.
@section release-3-4-0_summary Release Summary
This release enhances our task-parallel pipeline programming model
and executor methods, supplied with several new examples and unit tests.
@section release-3-4-0_new_features New Features
@subsection release-3-4-0_taskflow_core 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)
@subsection release-3-4-0_cudaflow 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
@subsection release-3-4-0_syclflow syclFlow
There is no update on %syclFlow in this release.
@subsection release-3-4-0_utilities Utilities
+ Removed serializer to improve compilation speed
@section release-3-4-0_bug_fixes Bug Fixes
+ Fixed the compilation error due to non-portable include of `immintrin.h` ([#371](https://github.com/taskflow/taskflow/issues/371))
+ Fixed the compilation error due to using old version of doctest ([#372](https://github.com/taskflow/taskflow/issues/372))
+ Fixed the infinite loop bug due to unexpected share states in pipeline ([#402](https://github.com/taskflow/taskflow/issues/402))
If you encounter any potential bugs, please submit an issue at @IssueTracker.
@section release-3-4-0_breaking_changes Breaking Changes
+ Replaced tf::Runtime::run with tf::Runtime::run_and_wait to comply with tf::Executor::run_and_wait
@section release-3-4-0_deprecated_items Deprecated and Removed Items
There are no deprecated items in this release.
@section release-3-4-0_documentation Documentation
+ Revised @ref ExecuteTaskflow
+ Added @ref ExecuteATaskflowFromAnInternalWorker
+ Revised @ref CUDASTDExecutionPolicy
+ Revised @ref TaskParallelPipeline
+ Added @ref TaskParallelPipelineLearnMore
+ Revised @ref Examples
+ Added @ref TextProcessingPipeline
+ Added @ref GraphProcessingPipeline
+ Added @ref TaskflowProcessingPipeline
+ Added @ref TaskParallelScalablePipeline
@section release-3-4-0_miscellaneous_items Miscellaneous Items
We have published %Taskflow in the following venues:
+ Dian-Lun Lin and Tsung-Wei Huang, &quot;[Accelerating Large Sparse Neural Network Inference using GPU Task Graph Parallelism](https://ieeexplore.ieee.org/document/9664223),&quot; <em>IEEE Transactions on Parallel and Distributed Systems (TPDS)</em>, 2022
+ Cheng-Hsiang Chiu and Tsung-Wei Huang, &quot;[Composing %Pipeline Parallelism using Control %Taskflow %Graph](https://doi.org/10.1145/3502181.3533714),&quot; <em>ACM International Symposium on High-Performance Parallel and Distributed Computing (HPDC)</em>, Minneapolis, Minnesota, 2022
+ Cheng-Hsiang Chiu and Tsung-Wei Huang, &quot;[Efficient Timing Propagation with Simultaneous Structural and Pipeline Parallelisms](https://tsung-wei-huang.github.io/papers/dac2022.pdf),&quot; <em>ACM/IEEE Design Automation Conference (DAC)</em>, San Francisco, CA, 2022
Please do not hesitate to contact @twhuang if you intend to collaborate with us
on using %Taskflow in your scientific computing projects.
*/
}