Problem
When running with berkeley_2018/full_network/ on H200 GPUs, the simulation starts but crashes with:
GPUassert: an illegal memory access was encountered b18CUDA_trafficSimulator.cu:2251
The pipeline gets through:
- Network loading (223K vertices, 540K edges) ✅
- OD demand + synthetic departure times ✅
- Contraction hierarchies routing (10K paths in 2s) ✅
- CUDA structure upload ✅
- Microsimulation kernel launch → crash at first timestep
Root cause
The laneIdMapper_d (global edge ID → per-GPU lane map index) is populated during lane map creation using edge IDs from the graph, but the routing engine generates path indices that might not be in the same ID space after the osmid→index remapping in the legacy data path.
Steps to reproduce
docker run --rm --gpus all -v $PWD:/lpsim -w /lpsim/LivingCity yibo123/lpsim:cuda12.4 ./LivingCity
# with NETWORK_PATH=berkeley_2018/full_network/ and NUM_GPUS=1
Notes
The new_full_network/ data format (which has both osmid and sequential index columns) does not have this issue. The recommended workaround is to use new_full_network/ or generate new network data with the complete column set.
Problem
When running with
berkeley_2018/full_network/on H200 GPUs, the simulation starts but crashes with:The pipeline gets through:
Root cause
The
laneIdMapper_d(global edge ID → per-GPU lane map index) is populated during lane map creation using edge IDs from the graph, but the routing engine generates path indices that might not be in the same ID space after the osmid→index remapping in the legacy data path.Steps to reproduce
Notes
The
new_full_network/data format (which has both osmid and sequential index columns) does not have this issue. The recommended workaround is to usenew_full_network/or generate new network data with the complete column set.