Search papers, labs, and topics across Lattice.
This paper introduces a GPU-accelerated system for city-scale visibility graph analysis (VGA) that overcomes the computational limitations of traditional all-pairs BFS approaches. They achieve this by combining delta-compressed CSR storage, the HyperBall probabilistic distance estimator, and CUDA kernels with fused LEB128 decoding. The resulting system achieves a 239x speedup compared to depthmapX and scales to significantly larger problem sizes (up to 236,000 cells and 4.8 billion edges) while maintaining high accuracy in Visual Mean Depth estimation.
City-scale spatial analysis is now practical: a 239x speedup lets you analyze visibility graphs with billions of edges in seconds, not hours.
Visibility Graph Analysis (VGA) is a key space syntax method for understanding how spatial configuration shapes human movement, but its reliance on all-pairs BFS computation limits practical application to small study areas. We present a system that combines three techniques to scale VGA to city-scale problems: (i) delta-compressed CSR storage using LEB128 varint encoding, which achieves ~4x compression and enables memory-mapped graphs exceeding available RAM; (ii) HyperBall, a probabilistic distance estimator based on HyperLogLog counter propagation, applied here for the first time to visibility graphs, reducing BFS complexity from O(N|E|) to O(D|E|2^p); and (iii) GPU-accelerated CUDA kernels with a fused decode-union kernel that streams the compressed graph via PCIe and performs LEB128 decoding entirely in shared memory. HyperBall's iteration count equals the topological depth limit, so the radius-n analysis that practitioners already use as standard translates directly into proportional speedup -- unlike depthmapX, whose BFS time is invariant to depth setting due to the small diameter of visibility graphs. Using depthmapX's own visibility algorithm (sparkSieve2) to ensure identical edge sets, our tool achieves a 239x end-to-end speedup at 42,705 cells and scales to 236,000 cells (4.8 billion edges) in 137 seconds -- problem sizes far beyond depthmapX's practical limit. At p=10, Visual Mean Depth achieves Pearson r=0.999 with 1.7% median relative error across 20 matched configurations.