As a personal learning project on how to write efficient GPU code I'm trying to implement different shortest-path algorithms on the GPU. This is notoriously one of the cases where a simple algorithm like Dijkstra on the CPU will beat many implementations on the GPU.
It has been a lot of fun to learn about Vulkan / GLSL and the GPU execution model to figure out why the CPU is so much faster than the GPU. I'll be open sourcing the code soon but so far I'm documenting my journey in a series of blog posts. First one of the series is https://www.execfoo.de/blog/deltastep.html
Pretty shallow analysis, how AVs will be deployed depends very much on the region and how it complements with existing infrastructure (especially outside the US).
I can already travel at 200km/h while working in a train today - that does not make me want to move further out of a city. AVs will have a tremendous impact when it comes to last-mile connectivity or supporting a more suburban life-style, but the impact on public transportation will be limited IMHO.
What you see on cycle.travel _is_ an open source router. They run https://github.com/Project-OSRM/osrm-backend
Actually, I don't really see where you get that impression from. Very few commercial providers use their own routing stack. It is almost always OSRM or pgRouting if you want something that scales for world-wide routing.
Got an idea for solving this problem efficiently and elegantly in C++?
A given graph consists of two connected sub-graphs in which every node has at least three neighbours. The sub-graphs are only connected by a single edge, the bridge. Given a node in each sub-graph, find the bridge. You can assume there is only one bridge.
Send the code to jobs@mapbox.com.
Mapbox is building a kick-ass open source routing engine that works whether you’re walking, biking, or driving. We’re looking for people who enjoy polishing their C++ code to a high sheen and wringing out its last few drops of performance. Sound like you, or like where you want to get to? We encourage everyone excited about making directions better and open to drop us a line at jobs@mapbox.com.
We’re building a routing service unlike any other. It is flexible, fast, and customizable for every use case.
We are looking for people who know graph theory, efficient algorithms, and have the desire to run fast on creating a scalable API.
While having a background in routing is a bonus,
we’re really looking for C++ coders with a deep understanding of algorithms
and data structures. Knowledge in C++11, cache effiency as well as I/O effiency are certainly a plus.
Primary focus would be extending an open source routing engine.
Of course. I've used Mapbox before and messed around with customizing the stylesheets. But the reality is that creating your own stylesheets is a level of effort and attention to detail that most projects/startups can't afford to take on, at least not at first.
The default stylesheets should look good and work well out of the box. Then if you have the time and manpower to customize them further great.
One of the design goals with GL was to support cascading styles, so you can start with the predefined world map and just provide deltas of the things you want to change. For example: "Hide the buildings, set the text font to X, swap the stacking order of layers A and B, and override the default park color to blue".
It has been a lot of fun to learn about Vulkan / GLSL and the GPU execution model to figure out why the CPU is so much faster than the GPU. I'll be open sourcing the code soon but so far I'm documenting my journey in a series of blog posts. First one of the series is https://www.execfoo.de/blog/deltastep.html