Patrick Niklaus
019e26dd8e
Refactor direct_shortest_path and shortest_path
2015-12-04 23:34:24 +01:00
Patrick Niklaus
4206d98b55
Move leg search to routing base
2015-12-04 20:52:21 +01:00
Patrick Niklaus
fd84827e51
Don't use stalling in core search
2015-10-19 17:11:03 +02:00
Daniel J. Hofmann
17d8e65c64
Silence unused variable warnings
2015-09-30 18:20:00 +02:00
Daniel J. Hofmann
829b9d96e4
Revert parallelization on algorithms that are used in the server. Let node do this.
...
This reverts @6b2bf49 on the server algorithms.
2015-09-28 20:26:29 +02:00
Daniel J. Hofmann
9231335eef
Use Intel TBB's parallel_sort even for nested parallelism.
...
TBB has a global task scheduler (that's one of the reason TBB is not
linked statically but dyanmically instead). This allows control over all
running threads, enabling us to use nested parallelism and the scheduler
doing all the task allocation itself.
That is, nested parallel execution such as in
parallel_for(seq, [](const auto& rng){
parallel_sort(rng);
});
is no problem at all, as the scheduler still claims control over the
global environment.
Therefore, use `parallel_sort` Range overload where possible.
References:
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/algorithms/parallel_sort_func.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#reference/task_scheduler/task_scheduler_init_cls.htm
- https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm#tbb_userguide/Initializing_and_Terminating_the_Library.htm
2015-09-28 20:26:03 +02:00
Patrick Niklaus
48d1a5ec5d
Make sure to terminate when the core heaps are empty
2015-08-19 12:27:44 +02:00
Patrick Niklaus
7cc875b8db
Initial version of core based search
2015-08-19 12:27:44 +02:00
MoKob
b526cadebd
Initial version of core ch
...
This improves preprocessing times in favour of worse query performance.
Core size can be set over the --core parameater, default is the old
behaviour to fully contract the graph.
2015-08-01 18:00:48 +02:00