FreeBSD Bugzilla – Attachment 222210 Details for
Bug 252790
Making www/osrm-backend depend on onetbb
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to make www/osrm-backend build with devel/onetbb
onetbb-patch (text/plain), 25.45 KB, created by
Peter Laursen
on 2021-02-06 12:24:06 UTC
(
hide
)
Description:
Patch to make www/osrm-backend build with devel/onetbb
Filename:
MIME Type:
Creator:
Peter Laursen
Created:
2021-02-06 12:24:06 UTC
Size:
25.45 KB
patch
obsolete
>diff -ruN osrm-backend/Makefile osrm-backend-onetbb/Makefile >--- osrm-backend/Makefile 2021-02-06 13:14:06.392243000 +0100 >+++ osrm-backend-onetbb/Makefile 2021-02-06 13:12:29.395621000 +0100 >@@ -2,7 +2,7 @@ > > PORTNAME= osrm-backend > DISTVERSIONPREFIX= v >-DISTVERSION= 5.23.0 >+DISTVERSION= 5.24.0 > CATEGORIES= www > > MAINTAINER= freebsd@mosedal.net >@@ -21,13 +21,14 @@ > libboost_thread.so:devel/boost-libs \ > libexpat.so:textproc/expat2 \ > libluabind.so:devel/luabind \ >- libtbb.so:devel/tbb \ >- libtbbmalloc.so:devel/tbb >+ libtbb.so:devel/onetbb \ >+ libtbbmalloc.so:devel/onetbb > > USES= cmake compiler:c++14-lang lua:53 > USE_GITHUB= yes > GH_ACCOUNT= Project-OSRM > >+CONFIGURE_ENV+= TBB_INSTALL_DIR=${LOCALBASE} > USE_RC_SUBR= osrm > > CMAKE_ON= BUILD_STATIC_LIBS >diff -ruN osrm-backend/distinfo osrm-backend-onetbb/distinfo >--- osrm-backend/distinfo 2021-02-06 13:14:06.405183000 +0100 >+++ osrm-backend-onetbb/distinfo 2021-01-31 12:39:15.630307000 +0100 >@@ -1,7 +1,3 @@ >-TIMESTAMP = 1603522319 >-SHA256 (Project-OSRM-osrm-backend-v5.23.0_GH0.tar.gz) = 8527ce7d799123a9e9e99551936821cc0025baae6f2120dbf2fbc6332c709915 >-SIZE (Project-OSRM-osrm-backend-v5.23.0_GH0.tar.gz) = 9155384 >-SHA256 (38700e207e076a391f30ef66ad90d03e7543006e.patch) = 2c353e7e942df92091cf138f9c47135a74dc6f70bcad6897b118b312ca226ad6 >-SIZE (38700e207e076a391f30ef66ad90d03e7543006e.patch) = 2165 >-SHA256 (018a9bc80449d85c0e40fa5215377d8a03264c88.patch) = 7ad04466e0ac4a5dcafc5bb38a1ac20039339c73f0e32475c25d4614b353ec61 >-SIZE (018a9bc80449d85c0e40fa5215377d8a03264c88.patch) = 3214 >+TIMESTAMP = 1612093155 >+SHA256 (Project-OSRM-osrm-backend-v5.24.0_GH0.tar.gz) = a66b20e7ffe83e5e5fe12324980320e12a6ec2b05f2befd157de5c60c665613c >+SIZE (Project-OSRM-osrm-backend-v5.24.0_GH0.tar.gz) = 16850397 >diff -ruN osrm-backend/files/patch-cmake_FindTBB.cmake osrm-backend-onetbb/files/patch-cmake_FindTBB.cmake >--- osrm-backend/files/patch-cmake_FindTBB.cmake 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-cmake_FindTBB.cmake 2021-01-26 20:08:30.185267000 +0100 >@@ -0,0 +1,25 @@ >+--- cmake/FindTBB.cmake.orig 2020-10-14 21:08:23 UTC >++++ cmake/FindTBB.cmake >+@@ -180,11 +180,11 @@ endmacro(TBB_CORRECT_LIB_DIR var_content) >+ >+ >+ #-- Look for include directory and set ${TBB_INCLUDE_DIR} >+-set (TBB_INC_SEARCH_DIR ${_TBB_INSTALL_DIR}/include) >++set (TBB_INC_SEARCH_DIR /usr/local/include/oneapi) >+ # Jiri: tbbvars now sets the CPATH environment variable to the directory >+ # containing the headers. >+ find_path(TBB_INCLUDE_DIR >+- tbb/task_scheduler_init.h >++ tbb/task_scheduler_observer.h >+ HINTS ${TBB_INC_SEARCH_DIR} ENV CPATH >+ ) >+ mark_as_advanced(TBB_INCLUDE_DIR) >+@@ -279,7 +279,7 @@ endif (NOT _TBB_INSTALL_DIR) >+ >+ if (TBB_FOUND) >+ set(TBB_INTERFACE_VERSION 0) >+- FILE(READ "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h" _TBB_VERSION_CONTENTS) >++ FILE(READ "${TBB_INCLUDE_DIRS}/tbb/version.h" _TBB_VERSION_CONTENTS) >+ STRING(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_TBB_VERSION_CONTENTS}") >+ set(TBB_INTERFACE_VERSION "${TBB_INTERFACE_VERSION}") >+ message(STATUS "TBB interface version: ${TBB_INTERFACE_VERSION}") >diff -ruN osrm-backend/files/patch-include_util_packed__vector.hpp osrm-backend-onetbb/files/patch-include_util_packed__vector.hpp >--- osrm-backend/files/patch-include_util_packed__vector.hpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-include_util_packed__vector.hpp 2021-01-31 12:03:58.085853000 +0100 >@@ -0,0 +1,42 @@ >+--- include/util/packed_vector.hpp.orig 2020-10-14 21:08:23 UTC >++++ include/util/packed_vector.hpp >+@@ -11,7 +11,7 @@ >+ #include <boost/iterator/iterator_facade.hpp> >+ #include <boost/iterator/reverse_iterator.hpp> >+ >+-#include <tbb/atomic.h> >++#include <atomic> >+ >+ #include <array> >+ #include <cmath> >+@@ -512,7 +512,7 @@ template <typename T, std::size_t Bits, storage::Owner >+ inline void set_value(const InternalIndex internal_index, const T value) >+ { >+ // â The method uses CAS spinlocks to prevent data races in parallel calls >+- // TBB internal atomic's are used for CAS on non-atomic data >++ // std internal atomic's are used for CAS on non-atomic data >+ // Parallel read and write access is not allowed >+ >+ auto &lower_word = vec[internal_index.lower_word]; >+@@ -527,8 +527,8 @@ template <typename T, std::size_t Bits, storage::Owner >+ lower_mask[internal_index.element], >+ lower_offset[internal_index.element], >+ value); >+- } while (tbb::internal::as_atomic(lower_word) >+- .compare_and_swap(new_lower_word, local_lower_word) != local_lower_word); >++ } while (std::atomic<WordT>(lower_word) >++ .compare_exchange_weak(new_lower_word, local_lower_word) != local_lower_word); >+ >+ // Lock-free update of the upper word >+ WordT local_upper_word, new_upper_word; >+@@ -539,8 +539,8 @@ template <typename T, std::size_t Bits, storage::Owner >+ upper_mask[internal_index.element], >+ upper_offset[internal_index.element], >+ value); >+- } while (tbb::internal::as_atomic(upper_word) >+- .compare_and_swap(new_upper_word, local_upper_word) != local_upper_word); >++ } while (std::atomic<WordT>(upper_word) >++ .compare_exchange_weak(new_upper_word, local_upper_word) != local_upper_word); >+ } >+ >+ util::ViewOrVector<WordT, Ownership> vec; >diff -ruN osrm-backend/files/patch-src_contractor_contractor.cpp osrm-backend-onetbb/files/patch-src_contractor_contractor.cpp >--- osrm-backend/files/patch-src_contractor_contractor.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_contractor_contractor.cpp 2021-01-31 12:27:41.787524000 +0100 >@@ -0,0 +1,20 @@ >+--- src/contractor/contractor.cpp.orig 2021-01-31 11:25:33 UTC >++++ src/contractor/contractor.cpp >+@@ -36,7 +36,7 @@ >+ >+ #include <boost/assert.hpp> >+ >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ #include <tbb/global_control.h> >+ #else >+ #include <tbb/task_scheduler_init.h> >+@@ -49,7 +49,7 @@ namespace contractor >+ >+ int Contractor::Run() >+ { >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ tbb::global_control gc(tbb::global_control::max_allowed_parallelism, >+ config.requested_num_threads); >+ #else >diff -ruN osrm-backend/files/patch-src_customize_customizer.cpp osrm-backend-onetbb/files/patch-src_customize_customizer.cpp >--- osrm-backend/files/patch-src_customize_customizer.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_customize_customizer.cpp 2021-02-06 02:53:15.736590000 +0100 >@@ -0,0 +1,20 @@ >+--- src/customize/customizer.cpp.orig 2021-02-06 01:53:00 UTC >++++ src/customize/customizer.cpp >+@@ -21,7 +21,7 @@ >+ >+ #include <boost/assert.hpp> >+ >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ #include <tbb/global_control.h> >+ #else >+ #include <tbb/task_scheduler_init.h> >+@@ -122,7 +122,7 @@ std::vector<CellMetric> customizeFilteredMetrics(const >+ >+ int Customizer::Run(const CustomizationConfig &config) >+ { >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ tbb::global_control gc(tbb::global_control::max_allowed_parallelism, >+ config.requested_num_threads); >+ #else >diff -ruN osrm-backend/files/patch-src_extractor_edge__based__graph__factory.cpp osrm-backend-onetbb/files/patch-src_extractor_edge__based__graph__factory.cpp >--- osrm-backend/files/patch-src_extractor_edge__based__graph__factory.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_extractor_edge__based__graph__factory.cpp 2021-01-31 17:23:05.864076000 +0100 >@@ -0,0 +1,44 @@ >+--- src/extractor/edge_based_graph_factory.cpp.orig 2021-01-31 16:20:02 UTC >++++ src/extractor/edge_based_graph_factory.cpp >+@@ -37,7 +37,7 @@ >+ >+ #include <tbb/blocked_range.h> >+ #include <tbb/parallel_for.h> >+-#include <tbb/pipeline.h> >++#include <tbb/parallel_pipeline.h> >+ >+ namespace std >+ { >+@@ -527,8 +527,8 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges( >+ const constexpr unsigned GRAINSIZE = 100; >+ >+ // First part of the pipeline generates iterator ranges of IDs in sets of GRAINSIZE >+- tbb::filter_t<void, tbb::blocked_range<NodeID>> generator_stage( >+- tbb::filter::serial_in_order, [&](tbb::flow_control &fc) { >++ auto generator_stage = tbb::make_filter<void, tbb::blocked_range<NodeID>>( >++ tbb::filter_mode::serial_in_order, [&](tbb::flow_control &fc) { >+ if (current_node < node_count) >+ { >+ auto next_node = std::min(current_node + GRAINSIZE, node_count); >+@@ -662,8 +662,8 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges( >+ // >+ // Edge-based-graph stage >+ // >+- tbb::filter_t<tbb::blocked_range<NodeID>, EdgesPipelineBufferPtr> processor_stage( >+- tbb::filter::parallel, [&](const tbb::blocked_range<NodeID> &intersection_node_range) { >++ auto processor_stage = tbb::make_filter<tbb::blocked_range<NodeID>, EdgesPipelineBufferPtr>( >++ tbb::filter_mode::parallel, [&](const tbb::blocked_range<NodeID> &intersection_node_range) { >+ auto buffer = std::make_shared<EdgesPipelineBuffer>(); >+ buffer->nodes_processed = intersection_node_range.size(); >+ >+@@ -1060,8 +1060,8 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges( >+ util::UnbufferedLog log; >+ util::Percent routing_progress(log, node_count); >+ std::vector<EdgeWithData> delayed_data; >+- tbb::filter_t<EdgesPipelineBufferPtr, void> output_stage( >+- tbb::filter::serial_in_order, [&](auto buffer) { >++ auto output_stage = tbb::make_filter<EdgesPipelineBufferPtr, void>( >++ tbb::filter_mode::serial_in_order, [&](auto buffer) { >+ routing_progress.PrintAddition(buffer->nodes_processed); >+ >+ m_connectivity_checksum = buffer->checksum.update_checksum(m_connectivity_checksum); >diff -ruN osrm-backend/files/patch-src_extractor_extractor.cpp osrm-backend-onetbb/files/patch-src_extractor_extractor.cpp >--- osrm-backend/files/patch-src_extractor_extractor.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_extractor_extractor.cpp 2021-02-06 01:33:45.906597000 +0100 >@@ -0,0 +1,90 @@ >+--- src/extractor/extractor.cpp.orig 2021-02-06 00:31:54 UTC >++++ src/extractor/extractor.cpp >+@@ -44,12 +44,12 @@ >+ #include <osmium/thread/pool.hpp> >+ #include <osmium/visitor.hpp> >+ >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ #include <tbb/global_control.h> >+ #else >+ #include <tbb/task_scheduler_init.h> >+ #endif >+-#include <tbb/pipeline.h> >++#include <tbb/parallel_pipeline.h> >+ >+ #include <algorithm> >+ #include <atomic> >+@@ -206,7 +206,7 @@ int Extractor::run(ScriptingEnvironment &scripting_env >+ const unsigned recommended_num_threads = std::thread::hardware_concurrency(); >+ const auto number_of_threads = std::min(recommended_num_threads, config.requested_num_threads); >+ >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ tbb::global_control gc(tbb::global_control::max_allowed_parallelism, >+ config.requested_num_threads); >+ #else >+@@ -454,8 +454,8 @@ std:: >+ ExtractionRelationContainer relations; >+ >+ const auto buffer_reader = [](osmium::io::Reader &reader) { >+- return tbb::filter_t<void, SharedBuffer>( >+- tbb::filter::serial_in_order, [&reader](tbb::flow_control &fc) { >++ return tbb::make_filter<void, SharedBuffer>( >++ tbb::filter_mode::serial_in_order, [&reader](tbb::flow_control &fc) { >+ if (auto buffer = reader.read()) >+ { >+ return std::make_shared<osmium::memory::Buffer>(std::move(buffer)); >+@@ -476,15 +476,15 @@ std:: >+ osmium_index_type location_cache; >+ osmium_location_handler_type location_handler(location_cache); >+ >+- tbb::filter_t<SharedBuffer, SharedBuffer> location_cacher( >+- tbb::filter::serial_in_order, [&location_handler](SharedBuffer buffer) { >++ auto location_cacher = tbb::make_filter<SharedBuffer, SharedBuffer>( >++ tbb::filter_mode::serial_in_order, [&location_handler](SharedBuffer buffer) { >+ osmium::apply(buffer->begin(), buffer->end(), location_handler); >+ return buffer; >+ }); >+ >+ // OSM elements Lua parser >+- tbb::filter_t<SharedBuffer, ParsedBuffer> buffer_transformer( >+- tbb::filter::parallel, [&](const SharedBuffer buffer) { >++ auto buffer_transformer = tbb::make_filter<SharedBuffer, ParsedBuffer>( >++ tbb::filter_mode::parallel, [&](const SharedBuffer buffer) { >+ ParsedBuffer parsed_buffer; >+ parsed_buffer.buffer = buffer; >+ scripting_environment.ProcessElements(*buffer, >+@@ -503,8 +503,8 @@ std:: >+ unsigned number_of_ways = 0; >+ unsigned number_of_restrictions = 0; >+ unsigned number_of_maneuver_overrides = 0; >+- tbb::filter_t<ParsedBuffer, void> buffer_storage( >+- tbb::filter::serial_in_order, [&](const ParsedBuffer &parsed_buffer) { >++ auto buffer_storage = tbb::make_filter<ParsedBuffer, void>( >++ tbb::filter_mode::serial_in_order, [&](const ParsedBuffer &parsed_buffer) { >+ number_of_nodes += parsed_buffer.resulting_nodes.size(); >+ // put parsed objects thru extractor callbacks >+ for (const auto &result : parsed_buffer.resulting_nodes) >+@@ -530,8 +530,8 @@ std:: >+ } >+ }); >+ >+- tbb::filter_t<SharedBuffer, std::shared_ptr<ExtractionRelationContainer>> buffer_relation_cache( >+- tbb::filter::parallel, [&](const SharedBuffer buffer) { >++ auto buffer_relation_cache = tbb::make_filter<SharedBuffer, std::shared_ptr<ExtractionRelationContainer>>( >++ tbb::filter_mode::parallel, [&](const SharedBuffer buffer) { >+ if (!buffer) >+ return std::shared_ptr<ExtractionRelationContainer>{}; >+ >+@@ -566,8 +566,8 @@ std:: >+ }); >+ >+ unsigned number_of_relations = 0; >+- tbb::filter_t<std::shared_ptr<ExtractionRelationContainer>, void> buffer_storage_relation( >+- tbb::filter::serial_in_order, >++ auto buffer_storage_relation = tbb::make_filter<std::shared_ptr<ExtractionRelationContainer>, void>( >++ tbb::filter_mode::serial_in_order, >+ [&](const std::shared_ptr<ExtractionRelationContainer> parsed_relations) { >+ number_of_relations += parsed_relations->GetRelationsNum(); >+ relations.Merge(std::move(*parsed_relations)); >diff -ruN osrm-backend/files/patch-src_guidance_guidance__processing.cpp osrm-backend-onetbb/files/patch-src_guidance_guidance__processing.cpp >--- osrm-backend/files/patch-src_guidance_guidance__processing.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_guidance_guidance__processing.cpp 2021-02-06 02:05:51.573365000 +0100 >@@ -0,0 +1,44 @@ >+--- src/guidance/guidance_processing.cpp.orig 2021-02-06 01:01:50 UTC >++++ src/guidance/guidance_processing.cpp >+@@ -9,7 +9,7 @@ >+ #include "util/percent.hpp" >+ >+ #include <tbb/blocked_range.h> >+-#include <tbb/pipeline.h> >++#include <tbb/parallel_pipeline.h> >+ >+ #include <thread> >+ >+@@ -97,8 +97,8 @@ void annotateTurns(const util::NodeBasedDynamicGraph & >+ const constexpr unsigned GRAINSIZE = 100; >+ >+ // First part of the pipeline generates iterator ranges of IDs in sets of GRAINSIZE >+- tbb::filter_t<void, tbb::blocked_range<NodeID>> generator_stage( >+- tbb::filter::serial_in_order, [&](tbb::flow_control &fc) { >++ auto generator_stage = tbb::make_filter<void, tbb::blocked_range<NodeID>>( >++ tbb::filter_mode::serial_in_order, [&](tbb::flow_control &fc) { >+ if (current_node < node_count) >+ { >+ auto next_node = std::min(current_node + GRAINSIZE, node_count); >+@@ -116,8 +116,8 @@ void annotateTurns(const util::NodeBasedDynamicGraph & >+ // >+ // Guidance stage >+ // >+- tbb::filter_t<tbb::blocked_range<NodeID>, TurnsPipelineBufferPtr> guidance_stage( >+- tbb::filter::parallel, [&](const tbb::blocked_range<NodeID> &intersection_node_range) { >++ auto guidance_stage = tbb::make_filter<tbb::blocked_range<NodeID>, TurnsPipelineBufferPtr>( >++ tbb::filter_mode::parallel, [&](const tbb::blocked_range<NodeID> &intersection_node_range) { >+ auto buffer = std::make_shared<TurnsPipelineBuffer>(); >+ buffer->nodes_processed = intersection_node_range.size(); >+ >+@@ -307,8 +307,8 @@ void annotateTurns(const util::NodeBasedDynamicGraph & >+ util::Percent guidance_progress(log, node_count); >+ std::vector<guidance::TurnData> delayed_turn_data; >+ >+- tbb::filter_t<TurnsPipelineBufferPtr, void> guidance_output_stage( >+- tbb::filter::serial_in_order, [&](auto buffer) { >++ auto guidance_output_stage = tbb::make_filter<TurnsPipelineBufferPtr, void>( >++ tbb::filter_mode::serial_in_order, [&](auto buffer) { >+ guidance_progress.PrintAddition(buffer->nodes_processed); >+ >+ connectivity_checksum = buffer->checksum.update_checksum(connectivity_checksum); >diff -ruN osrm-backend/files/patch-src_partitioner_partitioner.cpp osrm-backend-onetbb/files/patch-src_partitioner_partitioner.cpp >--- osrm-backend/files/patch-src_partitioner_partitioner.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_partitioner_partitioner.cpp 2021-02-06 03:04:49.508602000 +0100 >@@ -0,0 +1,20 @@ >+--- src/partitioner/partitioner.cpp.orig 2021-02-06 02:03:55 UTC >++++ src/partitioner/partitioner.cpp >+@@ -28,7 +28,7 @@ >+ #include <boost/assert.hpp> >+ #include <boost/filesystem/operations.hpp> >+ >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ #include <tbb/global_control.h> >+ #else >+ #include <tbb/task_scheduler_init.h> >+@@ -74,7 +74,7 @@ auto getGraphBisection(const PartitionerConfig &config >+ >+ int Partitioner::Run(const PartitionerConfig &config) >+ { >+-#if TBB_VERSION_MAJOR == 2020 >++#if TBB_VERSION_MAJOR >= 2020 >+ tbb::global_control gc(tbb::global_control::max_allowed_parallelism, >+ config.requested_num_threads); >+ #else >diff -ruN osrm-backend/files/patch-src_partitioner_recursive__bisection.cpp osrm-backend-onetbb/files/patch-src_partitioner_recursive__bisection.cpp >--- osrm-backend/files/patch-src_partitioner_recursive__bisection.cpp 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/files/patch-src_partitioner_recursive__bisection.cpp 2021-02-06 11:09:21.810860000 +0100 >@@ -0,0 +1,26 @@ >+--- src/partitioner/recursive_bisection.cpp.orig 2021-02-06 10:08:31 UTC >++++ src/partitioner/recursive_bisection.cpp >+@@ -7,7 +7,7 @@ >+ #include "util/log.hpp" >+ #include "util/timing_util.hpp" >+ >+-#include <tbb/parallel_do.h> >++#include <tbb/parallel_for_each.h> >+ >+ #include <algorithm> >+ #include <climits> // for CHAR_BIT >+@@ -64,12 +64,12 @@ RecursiveBisection::RecursiveBisection(BisectionGraph >+ return TreeNode{std::move(graph), internal_state.SCCDepth()}; >+ }); >+ >+- using Feeder = tbb::parallel_do_feeder<TreeNode>; >++ using Feeder = tbb::feeder<TreeNode>; >+ >+ TIMER_START(bisection); >+ >+ // Bisect graph into two parts. Get partition point and recurse left and right in parallel. >+- tbb::parallel_do(begin(forest), end(forest), [&](const TreeNode &node, Feeder &feeder) { >++ tbb::parallel_for_each(forest.begin(), forest.end(), [&](const TreeNode &node, Feeder &feeder) { >+ const auto cut = >+ computeInertialFlowCut(node.graph, num_optimizing_cuts, balance, boundary_factor); >+ const auto center = internal_state.ApplyBisection( >diff -ruN osrm-backend/files/patch-src_util_timezones.cpp osrm-backend-onetbb/files/patch-src_util_timezones.cpp >--- osrm-backend/files/patch-src_util_timezones.cpp 2021-02-06 13:14:06.372034000 +0100 >+++ osrm-backend-onetbb/files/patch-src_util_timezones.cpp 1970-01-01 01:00:00.000000000 +0100 >@@ -1,11 +0,0 @@ >---- src/util/timezones.cpp.orig 2020-11-03 05:31:40 UTC >-+++ src/util/timezones.cpp >-@@ -154,7 +154,7 @@ boost::optional<struct tm> Timezoner::op >- { >- std::vector<rtree_t::value_type> result; >- rtree.query(boost::geometry::index::intersects(point), std::back_inserter(result)); >-- for (const auto v : result) >-+ for (const auto& v : result) >- { >- const auto index = v.second; >- if (boost::geometry::within(point, local_times[index].first)) >diff -ruN osrm-backend/pkg-plist osrm-backend-onetbb/pkg-plist >--- osrm-backend/pkg-plist 2021-02-06 13:14:06.376208000 +0100 >+++ osrm-backend-onetbb/pkg-plist 2021-02-06 11:17:47.153993000 +0100 >@@ -92,6 +92,7 @@ > share/osrm/profiles/bicycle.lua > share/osrm/profiles/car.lua > share/osrm/profiles/debug_example.lua >+share/osrm/profiles/debug_way.lua > share/osrm/profiles/examples/postgis.lua > share/osrm/profiles/foot.lua > share/osrm/profiles/%%LUA_LIBDIR%%/access.lua >diff -ruN osrm-backend/pkg-plist2 osrm-backend-onetbb/pkg-plist2 >--- osrm-backend/pkg-plist2 1970-01-01 01:00:00.000000000 +0100 >+++ osrm-backend-onetbb/pkg-plist2 2021-02-06 11:15:53.695967000 +0100 >@@ -0,0 +1,118 @@ >+/you/have/to/check/what/makeplist/gives/you >+bin/osrm-components >+bin/osrm-contract >+bin/osrm-customize >+bin/osrm-datastore >+bin/osrm-extract >+bin/osrm-partition >+bin/osrm-routed >+etc/rc.d/osrm >+include/flatbuffers/base.h >+include/flatbuffers/code_generators.h >+include/flatbuffers/flatbuffers.h >+include/flatbuffers/flatc.h >+include/flatbuffers/flexbuffers.h >+include/flatbuffers/grpc.h >+include/flatbuffers/hash.h >+include/flatbuffers/idl.h >+include/flatbuffers/minireflect.h >+include/flatbuffers/reflection.h >+include/flatbuffers/reflection_generated.h >+include/flatbuffers/registry.h >+include/flatbuffers/stl_emulation.h >+include/flatbuffers/util.h >+include/mapbox/optional.hpp >+include/mapbox/recursive_wrapper.hpp >+include/mapbox/variant.hpp >+include/mapbox/variant_io.hpp >+include/mapbox/variant_visitor.hpp >+include/osrm/approach.hpp >+include/osrm/bearing.hpp >+include/osrm/contractor.hpp >+include/osrm/contractor/contractor.hpp >+include/osrm/contractor/contractor_config.hpp >+include/osrm/contractor_config.hpp >+include/osrm/coordinate.hpp >+include/osrm/customizer.hpp >+include/osrm/customizer_config.hpp >+include/osrm/engine/api/base_parameters.hpp >+include/osrm/engine/api/base_result.hpp >+include/osrm/engine/api/match_parameters.hpp >+include/osrm/engine/api/nearest_parameters.hpp >+include/osrm/engine/api/route_parameters.hpp >+include/osrm/engine/api/table_parameters.hpp >+include/osrm/engine/api/tile_parameters.hpp >+include/osrm/engine/api/trip_parameters.hpp >+include/osrm/engine/approach.hpp >+include/osrm/engine/bearing.hpp >+include/osrm/engine/engine_config.hpp >+include/osrm/engine/hint.hpp >+include/osrm/engine/phantom_node.hpp >+include/osrm/engine/status.hpp >+include/osrm/engine_config.hpp >+include/osrm/error_codes.hpp >+include/osrm/exception.hpp >+include/osrm/extractor.hpp >+include/osrm/extractor/extractor.hpp >+include/osrm/extractor/extractor_config.hpp >+include/osrm/extractor/io_config.hpp >+include/osrm/extractor/travel_mode.hpp >+include/osrm/extractor_config.hpp >+include/osrm/json_container.hpp >+include/osrm/match_parameters.hpp >+include/osrm/nearest_parameters.hpp >+include/osrm/osrm.hpp >+include/osrm/osrm_fwd.hpp >+include/osrm/partitioner.hpp >+include/osrm/partitioner/partitioner.hpp >+include/osrm/partitioner/partitioner_config.hpp >+include/osrm/partitioner_config.hpp >+include/osrm/route_parameters.hpp >+include/osrm/status.hpp >+include/osrm/storage/io_config.hpp >+include/osrm/storage/storage.hpp >+include/osrm/storage/storage_config.hpp >+include/osrm/storage_config.hpp >+include/osrm/table_parameters.hpp >+include/osrm/tile_parameters.hpp >+include/osrm/trip_parameters.hpp >+include/osrm/util/alias.hpp >+include/osrm/util/bearing.hpp >+include/osrm/util/coordinate.hpp >+include/osrm/util/exception.hpp >+include/osrm/util/json_container.hpp >+include/osrm/util/typedefs.hpp >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_contract.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_customize.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_extract.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_guidance.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_partition.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_store.a >+%%LUA_LIBDIR%%/%%LUA_LIBDIR%%osrm_update.a >+%%LUA_LIBDIR%%data/pkgconfig/%%LUA_LIBDIR%%osrm.pc >+share/osrm/profiles/bicycle.lua >+share/osrm/profiles/car.lua >+share/osrm/profiles/debug_example.lua >+share/osrm/profiles/debug_way.lua >+share/osrm/profiles/examples/postgis.lua >+share/osrm/profiles/foot.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/access.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/destination.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/guidance.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/maxspeed.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/measure.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/pprint.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/profile_debugger.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/relations.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/sequence.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/set.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/tags.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/utils.lua >+share/osrm/profiles/%%LUA_LIBDIR%%/way_handlers.lua >+share/osrm/profiles/rasterbot.lua >+share/osrm/profiles/rasterbotinterp.lua >+share/osrm/profiles/test.lua >+share/osrm/profiles/testbot.lua >+share/osrm/profiles/turnbot.lua >+@dir /var/db/osrm-backend
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 252790
:
222210
|
222363