diff --git a/src/contractor/contractor.cpp b/src/contractor/contractor.cpp index 9fc82c967..77f5247d2 100644 --- a/src/contractor/contractor.cpp +++ b/src/contractor/contractor.cpp @@ -35,6 +35,9 @@ #include #include +#include + +#include namespace osrm { namespace contractor @@ -42,6 +45,9 @@ namespace contractor int Contractor::Run() { + tbb::task_scheduler_init init(config.requested_num_threads); + BOOST_ASSERT(init.is_active()); + if (config.core_factor != 1.0) { util::Log(logWARNING) diff --git a/src/customize/customizer.cpp b/src/customize/customizer.cpp index 78adaef58..d08554d41 100644 --- a/src/customize/customizer.cpp +++ b/src/customize/customizer.cpp @@ -18,6 +18,10 @@ #include "util/log.hpp" #include "util/timing_util.hpp" +#include + +#include + namespace osrm { namespace customizer @@ -115,6 +119,9 @@ std::vector customizeFilteredMetrics(const MultiLevelEdgeBasedGraph int Customizer::Run(const CustomizationConfig &config) { + tbb::task_scheduler_init init(config.requested_num_threads); + BOOST_ASSERT(init.is_active()); + TIMER_START(loading_data); partitioner::MultiLevelPartition mlp; diff --git a/src/extractor/extractor.cpp b/src/extractor/extractor.cpp index 2abfe8443..b505be38b 100644 --- a/src/extractor/extractor.cpp +++ b/src/extractor/extractor.cpp @@ -37,6 +37,7 @@ #include "extractor/tarjan_scc.hpp" +#include #include #include #include @@ -193,6 +194,7 @@ int Extractor::run(ScriptingEnvironment &scripting_environment) const auto number_of_threads = std::min(recommended_num_threads, config.requested_num_threads); tbb::task_scheduler_init init(number_of_threads ? number_of_threads : tbb::task_scheduler_init::automatic); + BOOST_ASSERT(init.is_active()); guidance::LaneDescriptionMap turn_lane_map; std::vector turn_restrictions; diff --git a/src/partitioner/partitioner.cpp b/src/partitioner/partitioner.cpp index 1bb478605..acbf3036e 100644 --- a/src/partitioner/partitioner.cpp +++ b/src/partitioner/partitioner.cpp @@ -27,6 +27,8 @@ #include #include +#include + #include "util/geojson_debug_logger.hpp" #include "util/geojson_debug_policies.hpp" #include "util/json_container.hpp" @@ -128,6 +130,9 @@ auto getGraphBisection(const PartitionerConfig &config) int Partitioner::Run(const PartitionerConfig &config) { + tbb::task_scheduler_init init(config.requested_num_threads); + BOOST_ASSERT(init.is_active()); + const std::vector &node_based_partition_ids = getGraphBisection(config); // Up until now we worked on the compressed node based graph. diff --git a/src/tools/contract.cpp b/src/tools/contract.cpp index ee4929c41..258e202f8 100644 --- a/src/tools/contract.cpp +++ b/src/tools/contract.cpp @@ -187,8 +187,6 @@ int main(int argc, char *argv[]) try util::Log() << "Input file: " << contractor_config.base_path.string() << ".osrm"; util::Log() << "Threads: " << contractor_config.requested_num_threads; - tbb::task_scheduler_init init(contractor_config.requested_num_threads); - osrm::contract(contractor_config); util::DumpSTXXLStats(); diff --git a/src/tools/customize.cpp b/src/tools/customize.cpp index d074d2166..97217aa95 100644 --- a/src/tools/customize.cpp +++ b/src/tools/customize.cpp @@ -166,8 +166,6 @@ int main(int argc, char *argv[]) try return EXIT_FAILURE; } - tbb::task_scheduler_init init(customization_config.requested_num_threads); - auto exitcode = customizer::Customizer().Run(customization_config); util::DumpMemoryStats(); diff --git a/src/tools/partition.cpp b/src/tools/partition.cpp index 22c202b9d..aeed36360 100644 --- a/src/tools/partition.cpp +++ b/src/tools/partition.cpp @@ -10,7 +10,6 @@ #include #include -#include #include #include #include @@ -235,8 +234,6 @@ int main(int argc, char *argv[]) try return EXIT_FAILURE; } - tbb::task_scheduler_init init(partition_config.requested_num_threads); - BOOST_ASSERT(init.is_active()); util::Log() << "Computing recursive bisection"; TIMER_START(bisect);