Skip to content

Commit c9ab2fe

Browse files
Merge branch 'master' into dev
2 parents d4e040c + 7a088cc commit c9ab2fe

385 files changed

Lines changed: 38003 additions & 22232 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 17 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -122,50 +122,30 @@ target_link_libraries(debug ${PROJECT_NAME} Threads::Threads)
122122
add_executable(reduce ${TF_EXAMPLE_DIR}/reduce.cpp)
123123
target_link_libraries(reduce ${PROJECT_NAME} Threads::Threads)
124124

125-
add_executable(executor_profiler ${TF_EXAMPLE_DIR}/executor_profiler.cpp)
126-
target_link_libraries(executor_profiler ${PROJECT_NAME} Threads::Threads)
127-
128-
add_executable(taskflow_profiler ${TF_EXAMPLE_DIR}/taskflow_profiler.cpp)
129-
target_link_libraries(taskflow_profiler ${PROJECT_NAME} Threads::Threads)
130-
131-
add_executable(matrix ${TF_EXAMPLE_DIR}/matrix.cpp)
132-
target_link_libraries(matrix ${PROJECT_NAME} Threads::Threads)
133-
134125
add_executable(parallel_for ${TF_EXAMPLE_DIR}/parallel_for.cpp)
135126
target_link_libraries(parallel_for ${PROJECT_NAME} Threads::Threads)
136127

137-
add_executable(threadpool_cxx14 ${TF_EXAMPLE_DIR}/threadpool_cxx14.cpp)
138-
set_property(TARGET threadpool_cxx14 PROPERTY CXX_STANDARD 14)
139-
target_link_libraries(threadpool_cxx14 Threads::Threads)
140-
141-
add_executable(multiple_dispatch ${TF_EXAMPLE_DIR}/multiple_dispatch.cpp)
142-
target_link_libraries(multiple_dispatch ${PROJECT_NAME} Threads::Threads)
143-
144-
add_executable(dispatch ${TF_EXAMPLE_DIR}/dispatch.cpp)
145-
target_link_libraries(dispatch ${PROJECT_NAME} Threads::Threads)
146-
147128
add_executable(dynamic_traversal ${TF_EXAMPLE_DIR}/dynamic_traversal.cpp)
148129
target_link_libraries(dynamic_traversal ${PROJECT_NAME} Threads::Threads)
149130

150-
add_executable(framework ${TF_EXAMPLE_DIR}/framework.cpp)
151-
target_link_libraries(framework ${PROJECT_NAME} Threads::Threads)
152-
153-
add_executable(dice_pools ${TF_EXAMPLE_DIR}/dice_pools.cpp)
154-
target_link_libraries(dice_pools ${PROJECT_NAME} Threads::Threads)
155-
156-
add_executable(get_best_dice ${TF_EXAMPLE_DIR}/get_best_dice.cpp)
157-
target_link_libraries(get_best_dice ${PROJECT_NAME} Threads::Threads)
131+
add_executable(run_variants ${TF_EXAMPLE_DIR}/run_variants.cpp)
132+
target_link_libraries(run_variants ${PROJECT_NAME} Threads::Threads)
158133

159134
add_executable(composition ${TF_EXAMPLE_DIR}/composition.cpp)
160135
target_link_libraries(composition ${PROJECT_NAME} Threads::Threads)
161136

137+
#add_executable(dice_pools ${TF_EXAMPLE_DIR}/dice_pools.cpp)
138+
#target_link_libraries(dice_pools ${PROJECT_NAME} Threads::Threads)
139+
#
140+
#add_executable(get_best_dice ${TF_EXAMPLE_DIR}/get_best_dice.cpp)
141+
#target_link_libraries(get_best_dice ${PROJECT_NAME} Threads::Threads)
142+
162143
endif()
163144

164145
# -----------------------------------------------------------------------------
165146
# Unittest
166147
# -----------------------------------------------------------------------------
167148

168-
169149
if(${TF_BUILD_TESTS})
170150

171151
enable_testing()
@@ -176,8 +156,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_UTEST_DIR})
176156
add_executable(utility unittest/utility.cpp)
177157
target_link_libraries(utility ${PROJECT_NAME} Threads::Threads)
178158
target_include_directories(utility PRIVATE ${PROJECT_SOURCE_DIR}/doctest)
179-
add_test(passive_vector ${TF_UTEST_DIR}/utility -tc=PassiveVector)
180-
add_test(singular_alloc ${TF_UTEST_DIR}/utility -tc=SingularAllocator)
159+
add_test(passive_vector ${TF_UTEST_DIR}/utility -tc=PassiveVector)
160+
add_test(singular_alloc ${TF_UTEST_DIR}/utility -tc=SingularAllocator)
181161

182162
# unittest for taskflow
183163
add_executable(taskflow_test_tmp unittest/taskflow.cpp)
@@ -186,46 +166,27 @@ target_include_directories(taskflow_test_tmp PRIVATE ${PROJECT_SOURCE_DIR}/docte
186166
set_target_properties(taskflow_test_tmp PROPERTIES OUTPUT_NAME "taskflow")
187167
add_test(builder ${TF_UTEST_DIR}/taskflow -tc=Builder)
188168
add_test(dispatch ${TF_UTEST_DIR}/taskflow -tc=Dispatch)
189-
add_test(executor ${TF_UTEST_DIR}/taskflow -tc=Executor)
190169
add_test(parallel_for ${TF_UTEST_DIR}/taskflow -tc=ParallelFor)
191170
add_test(parallel_for_idx ${TF_UTEST_DIR}/taskflow -tc=ParallelForOnIndex)
192171
add_test(reduce ${TF_UTEST_DIR}/taskflow -tc=Reduce)
193172
add_test(reduce_min ${TF_UTEST_DIR}/taskflow -tc=ReduceMin)
194173
add_test(reduce_max ${TF_UTEST_DIR}/taskflow -tc=ReduceMax)
195174
add_test(joined_subflow ${TF_UTEST_DIR}/taskflow -tc=JoinedSubflow)
196175
add_test(detached_subflow ${TF_UTEST_DIR}/taskflow -tc=DetachedSubflow)
197-
add_test(framework ${TF_UTEST_DIR}/taskflow -tc=Framework)
198176
add_test(composition-1 ${TF_UTEST_DIR}/taskflow -tc=Composition-1)
199177
add_test(composition-2 ${TF_UTEST_DIR}/taskflow -tc=Composition-2)
200178
add_test(composition-3 ${TF_UTEST_DIR}/taskflow -tc=Composition-3)
201-
add_test(observer ${TF_UTEST_DIR}/taskflow -tc=observer)
179+
add_test(observer ${TF_UTEST_DIR}/taskflow -tc=Observer)
202180

203-
# unittest for executor
204-
add_executable(executor_test_tmp unittest/executor.cpp)
205-
target_link_libraries(executor_test_tmp ${PROJECT_NAME} Threads::Threads)
206-
target_include_directories(executor_test_tmp PRIVATE ${PROJECT_SOURCE_DIR}/doctest)
207-
set_target_properties(executor_test_tmp PROPERTIES OUTPUT_NAME "executor")
181+
# unittest for WorkStealingQueue
182+
add_executable(spmc_queue unittest/spmc_queue.cpp)
183+
target_link_libraries(spmc_queue ${PROJECT_NAME} Threads::Threads)
184+
target_include_directories(spmc_queue PRIVATE ${PROJECT_SOURCE_DIR}/doctest)
208185
add_test(WorkStealingQueue.Owner ${TF_UTEST_DIR}/executor -tc=WSQ.Owner)
209186
add_test(WorkStealingQueue.1Thief ${TF_UTEST_DIR}/executor -tc=WSQ.1Thief)
210187
add_test(WorkStealingQueue.2Thieves ${TF_UTEST_DIR}/executor -tc=WSQ.2Thieves)
211188
add_test(WorkStealingQueue.3Thieves ${TF_UTEST_DIR}/executor -tc=WSQ.3Thieves)
212189
add_test(WorkStealingQueue.4Thieves ${TF_UTEST_DIR}/executor -tc=WSQ.4Thieves)
213-
add_test(simple_executor ${TF_UTEST_DIR}/executor -tc=SimpleExecutor)
214-
add_test(proactive_executor ${TF_UTEST_DIR}/executor -tc=ProactiveExecutor)
215-
add_test(speculative_executor ${TF_UTEST_DIR}/executor -tc=SpeculativeExecutor)
216-
add_test(work_stealing_executor ${TF_UTEST_DIR}/executor -tc=WorkStealingExecutor)
217-
add_test(eigen_work_stealing_executor ${TF_UTEST_DIR}/executor -tc=EigenWorkStealingExecutor)
218-
219-
# threadpool_cxx14 unittest (contributed by Glen Fraser)
220-
add_executable(threadpool_cxx14_tmp unittest/threadpool_cxx14.cpp)
221-
set_target_properties(threadpool_cxx14_tmp PROPERTIES CXX_STANDARD 14)
222-
target_link_libraries(threadpool_cxx14_tmp Threads::Threads)
223-
target_include_directories(threadpool_cxx14_tmp PRIVATE ${PROJECT_SOURCE_DIR}/doctest)
224-
set_target_properties(threadpool_cxx14_tmp PROPERTIES OUTPUT_NAME "threadpool_cxx14")
225-
add_test(threadpool_cxx14_basic ${TF_UTEST_DIR}/threadpool_cxx14 -tc=Threadpool.Basic)
226-
add_test(threadpool_cxx14_wait_for_all ${TF_UTEST_DIR}/threadpool_cxx14 -tc=Threadpool.WaitForAll)
227-
228-
# run all examples
229190

230191
endif()
231192

@@ -319,34 +280,8 @@ target_link_libraries(
319280
)
320281
set_target_properties(mnist PROPERTIES COMPILE_FLAGS ${OpenMP_CXX_FLAGS})
321282

322-
# Add benchmark command into Makefile
323-
add_custom_target(benchmark
324-
COMMAND wavefront
325-
COMMAND graph_traversal
326-
COMMAND mnist)
327-
add_dependencies(benchmark wavefront graph_traversal mnist)
328-
329-
## benchmark 4: Framework
330-
message(STATUS "benchmark 4: Framework")
331-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_BENCHMARK_DIR}/framework)
332-
add_executable(
333-
framework_benchmarking
334-
${TF_BENCHMARK_DIR}/framework/main.cpp
335-
${TF_BENCHMARK_DIR}/framework/omp.cpp
336-
${TF_BENCHMARK_DIR}/framework/tbb.cpp
337-
${TF_BENCHMARK_DIR}/framework/seq.cpp
338-
${TF_BENCHMARK_DIR}/framework/taskflow.cpp
339-
)
340-
target_include_directories(framework_benchmarking PRIVATE ${PROJECT_SOURCE_DIR}/3rd-party/CLI11)
341-
target_link_libraries(
342-
framework_benchmarking
343-
${PROJECT_NAME} Threads::Threads ${TBB_IMPORTED_TARGETS} ${OpenMP_CXX_LIBRARIES}
344-
)
345-
set_target_properties(framework_benchmarking PROPERTIES COMPILE_FLAGS ${OpenMP_CXX_FLAGS})
346-
347-
348-
## benchmark 5: Parallel DNN
349-
message(STATUS "benchmark 5: Parallel DNN")
283+
## benchmark 4: Parallel DNN
284+
message(STATUS "benchmark 4: Parallel DNN")
350285
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_BENCHMARK_DIR}/parallel_dnn)
351286
add_executable(
352287
parallel_dnn
@@ -364,7 +299,6 @@ target_link_libraries(
364299
)
365300
set_target_properties(parallel_dnn PROPERTIES COMPILE_FLAGS ${OpenMP_CXX_FLAGS})
366301

367-
368302
endif()
369303

370304
# -----------------------------------------------------------------------------

0 commit comments

Comments
 (0)