Skip to content

Commit 40580da

Browse files
updated subflow
1 parent b47a307 commit 40580da

5 files changed

Lines changed: 432 additions & 107 deletions

File tree

CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
1818
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O2")
1919
message(STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE})
2020
message(STATUS "CMAKE_CXX_COMPILER: " ${CMAKE_CXX_COMPILER})
21+
message(STATUS "CMAKE_CXX_COMPILER_VERSION: " ${CMAKE_CXX_COMPILER_VERSION})
2122
message(STATUS "CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS})
2223
message(STATUS "CMAKE_EXE_LINKER_FLAGS: " ${CMAKE_EXE_LINKER_FLAGS})
2324

@@ -99,7 +100,8 @@ add_test(parallel_for ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.Paral
99100
add_test(reduce ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.Reduce)
100101
add_test(reduce_min ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.ReduceMin)
101102
add_test(reduce_max ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.ReduceMax)
102-
add_test(subflow ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.Subflow)
103+
add_test(joined_subflow ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.JoinedSubflow)
104+
add_test(detached_subflow ${PROJECT_SOURCE_DIR}/unittest/taskflow -tc=Taskflow.DetachedSubflow)
103105

104106

105107

example/simple.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ int main(){
2121
B.precede(D); // D runs after B // | +---+ |
2222
C.precede(D); // D runs after C // +---->| C |-----+
2323
// +---+
24+
25+
std::cout << tf.dump();
26+
2427
tf.wait_for_all(); // block until finished
2528

2629
return 0;

example/subflow.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,29 @@
77

88
#include <taskflow.hpp>
99

10-
int main(){
10+
int main() {
1111

1212
tf::Taskflow tf(std::thread::hardware_concurrency());
1313

1414
auto [A, B, C, D] = tf.silent_emplace(
1515
// Task A
1616
[] () { std::cout << "TaskA\n"; },
1717
// Task B
18-
[cap=std::vector<int>{1,2,3,4,5,6,7,8}] (auto& Subflow) {
18+
[cap=std::vector<int>{1,2,3,4,5,6,7,8}] (auto& subflow) {
19+
1920
std::cout << "TaskB\n";
2021

21-
auto B1 = Subflow.silent_emplace([&]() {
22+
auto B1 = subflow.silent_emplace([&]() {
2223
printf(" Subtask B1: reduce sum = %d\n",
2324
std::accumulate(cap.begin(), cap.end(), 0, std::plus<int>()));
2425
}).name("B1");
2526

26-
auto B2 = Subflow.silent_emplace([&]() {
27+
auto B2 = subflow.silent_emplace([&]() {
2728
printf(" Subtask B2: reduce multiply = %d\n",
2829
std::accumulate(cap.begin(), cap.end(), 1, std::multiplies<int>()));
2930
}).name("B2");
3031

31-
auto B3 = Subflow.silent_emplace([&]() {
32+
auto B3 = subflow.silent_emplace([&]() {
3233
printf(" Subtask B3: reduce minus = %d\n",
3334
std::accumulate(cap.begin(), cap.end(), 0, std::minus<int>()));
3435
}).name("B3");

0 commit comments

Comments
 (0)