From df9cf86cb00a8915e8b0c0087b78cf0bf8b4a5fe Mon Sep 17 00:00:00 2001 From: acxz <17132214+acxz@users.noreply.github.com> Date: Mon, 13 Apr 2020 11:30:57 -0400 Subject: [PATCH] replace task_scheduler_init with task arena/group --- examples/SolverComparer.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/examples/SolverComparer.cpp b/examples/SolverComparer.cpp index d9dce7181..cc5fdb26d 100644 --- a/examples/SolverComparer.cpp +++ b/examples/SolverComparer.cpp @@ -58,7 +58,8 @@ #include #ifdef GTSAM_USE_TBB -#include // tbb::task_scheduler_init +#include // tbb::task_arena +#include // tbb::task_group #endif using namespace std; @@ -204,10 +205,11 @@ int main(int argc, char *argv[]) { } #ifdef GTSAM_USE_TBB - std::unique_ptr init; + tbb::task_arena arena; + tbb::task_group tg; if(nThreads > 0) { cout << "Using " << nThreads << " threads" << endl; - init.reset(new tbb::task_scheduler_init(nThreads)); + arena.initialize(nThreads); } else cout << "Using threads for all processors" << endl; #else @@ -217,6 +219,10 @@ int main(int argc, char *argv[]) { } #endif +#ifdef GTSAM_USE_TBB + arena.execute([&]{ + tg.run([&]{ +#endif // Run mode if(incremental) runIncremental(); @@ -228,6 +234,10 @@ int main(int argc, char *argv[]) { runPerturb(); else if(stats) runStats(); +#ifdef GTSAM_USE_TBB + }); + }); +#endif return 0; }