Commit Graph

6814 Commits

Author SHA1 Message Date
Patrick Niklaus
e20cbf673f Make InertialFlow a function 2017-03-01 16:09:29 +00:00
Michael Krasnyk
54c35710f6 return vector with correct edges 2017-03-01 16:09:29 +00:00
Michael Krasnyk
748ade5fea fixed warnings 2017-03-01 16:09:29 +00:00
Michael Krasnyk
f5e9c7df07 adjust extractor scc to new StaticGraph 2017-03-01 16:09:29 +00:00
Michael Krasnyk
1541d32a42 adjust cell_storage tests to new StaticGraph interface 2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
ed7438b9ba don't check for files not actually read 2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
e8cca36369 fix tbb leaks 2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
d473acb56d fix edge duration truncation in partition, pending global fix
fix windows compilation
no multi line warnings
sanitze on mason with newer TBB
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
b5d63e5ed5 Re-use the extractor edge based edge for loading the ebg in osrm-partition 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
c712fafae3 Sigh. Just randomly pick a side for border nodes for now.. 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e589ab814d Store flag for artificial bounary edges and walk border nodes in ebg 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
5015e12d59 First try at artificial nodes 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
3e409bea26 Loads the edge based graph edges and constructs a dynamic graph from it 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e0665856b0 Split Partitioner I/O off into separate headers 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
f71d742b5e Implements Mapping for NodeBasedGraph -> EdgeBasedgraph Translation 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
299d071e9d Fixes asan's detected tbb leak in osrm-partition
Here's all I could get out of a instrumented `osrm-partition`; debug build,
with all the bells and whistles I could think of to make it more verbose:

```
==17928==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1560 byte(s) in 3 object(s) allocated from:
    #0 0x7f4244185b30 in operator new[](unsigned long) ../../../../libsanitizer/asan/asan_new_delete.cc:62
    #1 0x7f4242a788b3  (/usr/lib/libtbb.so.2+0x208b3)

SUMMARY: AddressSanitizer: 1560 byte(s) leaked in 3 allocation(s).<Paste>
``

Symbolizing the address results in

```
echo "/usr/lib/libtbb.so 0x7f4242a788b3" | llvm-symbolizer
_fini
```

Looks like a crt finalizer => static global dtor "leaking" from tbb.

Which turned out to be a missing `tbb::task_scheduler_init` on our end:

> Using task_scheduler_init is optional in Intel® Threading Building
> Blocks (Intel® TBB) 2.2. By default, Intel TBB 2.2 automatically creates
> a task scheduler the first time that a thread uses task scheduling
> services and destroys it when the last such thread exits.

https://www.threadingbuildingblocks.org/docs/help/hh_goto.htm?index.htm#reference/task_scheduler/task_scheduler_init_cls.html

Without an explicit instanz the first call to a tbb algorithm seem to initialize
a global scheduler singleton which then "leaks" until the program exits.

Phew.
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
075f69acc2 Installs osrm-partition tool and library 2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
be41e8b321 generate stats in annotation 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
739ad73ae9 Be -fpermissive with gcc49: required for tbb::parallel_do_feeder compilation bug 2017-03-01 16:09:29 +00:00
Daniel Patterson
b62b09e5f6 Dump memory usage stats after partitioning. 2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
b789da45bd add unit tests for the different components of the parttion tool 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
e316dad1cb No longer requires edges to have a .data member in static graph
some fixes to make branch compilable
Removes unneeded edge data from components search
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
c3cc79f798 always emit a small component view
Unit Tests for Reodering by Predicate
2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
b9ed20bb9b Implements Compressed Node Based Graph (De-)Serialization Skeleton
Implements parallel recursion for the partitioner
Fixes osrm-extract's -dump-partition-graph: accept no further tokens

References:
- http://www.boost.org/doc/libs/1_55_0/doc/html/boost/program_options/bool_switch.html

Pulls parameters through to make them configurable from the outside

Defaults are equivalent to:

    ./osrm-partition \
      berlin-latest.osrm \
      --max-cell-size 4096 \
      --balance 1.2 \
      --boundary 0.25 \
      --optimizing-cuts 10

Fixes parallel_do call for Intel TBB 4.2 (Trusty): no range-based overload
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
786be6f570 Optimise Flow Algorithm/Datastructures in use 2017-03-01 16:09:29 +00:00
Daniel J. Hofmann
dd60ae31ae Implement Parallel Spatial-Ordering/Cut Selection
Extends explanation for recursive bisection ids
Cleans up Bisection State
Removes license boilerplate from partitioner config
Sorts Spatially and picks Sources and Sinks
Uses sets for sources and sinks for now; see how large they will get
Runs n cuts in parallel changing the slope and uses the best
Clarifies balance <-> ratio naming
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
db7adfa77b Implement Dinic Algorithm for MaximumFlow/MinimumCut 2017-03-01 16:09:29 +00:00
Daniel J. H
dd3f351874 Partitioner Improvements and Utils on top of #3603 (#3611)
* Implements Random Access Iterator Facade for EdgeIDIterator

* Makes StaticGraph Node and Edge requirements explicit

* Cleans up Bisection Graph, Node and Edge

* Cleans up GraphView
2017-03-01 16:09:29 +00:00
Moritz Kobitzsch
d56db500d3 Initial Skeleton for Recursive Bisection via Inertial Flow 2017-03-01 16:09:29 +00:00
Lev Dragunov
07221f5a48 Do not take the current route into account in alternatives_count parameter. 2017-03-01 01:29:00 +00:00
Lev Dragunov
421d336b0f Cucumber test support for alternatives count parameter 2017-03-01 01:29:00 +00:00
Lev Dragunov
5be6f8959a Describe alternatives_count in documentation 2017-03-01 01:29:00 +00:00
Lev Dragunov
f7b8e06c3a Matching alternatives count output. #3508 2017-03-01 01:29:00 +00:00
Moritz Kobitzsch
18a50d357f remove suppressed new names from new tests 2017-02-25 12:17:22 +00:00
Moritz Kobitzsch
6c3390f14d refactor of post-processing
- moves collapse into a dedicated set of functions / files
 - make collapse scenarios distinct (slight performance cost)
 - reduce verbosity for short name segments (now actually working, was supposed to do so before)
2017-02-25 12:17:22 +00:00
Moritz Kobitzsch
8d83c3adbb add locations to turn scenarios
start assigning turn locations to test / further locations
add locations/make roads not overlapping - staggered
larger grid size for utf tests (new name)
2017-02-25 12:17:22 +00:00
Michael Krasnyk
cd1a73dde6 revert 'directly' method on win32 2017-02-24 16:01:56 +00:00
Michael Krasnyk
4161181a6c revert watchdog singleton 2017-02-24 16:01:56 +00:00
Michael Krasnyk
82acd59a8e shared monitor implementation with a conditional variable
or a ring buffer with semaphores
2017-02-24 16:01:56 +00:00
Patrick Niklaus
438aa66b4c Add packed storage of partition information
Right now we need a 64bit integer for every node in the graph.
Depending on the number of cells we will see, we might get away with
32bit eventually.
2017-02-24 15:58:47 +00:00
yuryleb
5739c27ef4 Corrected car's bridge feature tests 2017-02-23 22:35:15 +00:00
yuryleb
b59295e55e Restored pre-fetching bridge tags
Restored bridge tags but as optional way data; highway or route tags
must be always
2017-02-23 22:35:15 +00:00
yuryleb
49862d1bcd Restored foot and bike profiles 2017-02-23 22:35:15 +00:00
yuryleb
544e54894f Excluded 'bridge=*' from all profiles
This commit fixes issue #3588 "OSRM uses man_made=bridge lines to
route?" with exclusion of 'brigde' tag analisys from all profiles to
disable routing on bridges countours (with no highway tags)
2017-02-23 22:35:15 +00:00
karenzshea
046d3128c4 clamp speed value to js max 2017-02-22 16:12:58 +00:00
Moritz Kobitzsch
1ad1ff5fc1 remove unsigned >= 0 checks, unused constnat 2017-02-21 13:55:59 +01:00
Patrick Niklaus
e06ffabf21 Add storage for cell weights used in the MLD algorithm 2017-02-20 16:31:36 +00:00
Daniel J. Hofmann
b2b5e2bb4d Updates TBB to latest stable version for 5.6 release 2017-02-20 13:55:04 +00:00
karenzshea
c2727f2029 expose data about turning onto restricted roads to turn function 2017-02-20 12:40:51 +00:00
Lev Dragunov
a0e7bab598 Add oneway:conditional profile code comment. 2017-02-20 10:34:06 +00:00