GPUDrive: Data-Driven, Multi-Agent Driving Simulation at 1 Million FPS

Abstract

Multi-agent learning algorithms have been successful at generating superhuman planning in various games but have had limited impact on the design of deployed multi-agent planners. A key bottleneck in applying these techniques to multi-agent planning is that they require billions of steps of experience. To enable the study of multi-agent planning at scale, we present GPUDrive, a GPU-accelerated, multi-agent simulator built on top of the Madrona Game Engine capable of generating over a million simulation steps per second. Observation, reward, and dynamics functions are written directly in C++, allowing users to define complex, heterogeneous agent behaviors that are lowered to high-performance CUDA. Despite these low-level optimizations, GPUDrive is fully accessible through Python, offering a seamless and efficient workflow for multi-agent, closed-loop simulation. Using GPUDrive, we train reinforcement learning agents on the Waymo Open Motion Dataset, achieving efficient goal-reaching in minutes and scaling to thousands of scenarios in hours. We open-source the code and pre-trained agents at \url{www.github.com/Emerge-Lab/gpudrive}.

Cite

Text

Kazemkhani et al. "GPUDrive: Data-Driven, Multi-Agent Driving Simulation at 1 Million FPS." International Conference on Learning Representations, 2025.

Markdown

[Kazemkhani et al. "GPUDrive: Data-Driven, Multi-Agent Driving Simulation at 1 Million FPS." International Conference on Learning Representations, 2025.](https://mlanthology.org/iclr/2025/kazemkhani2025iclr-gpudrive/)

BibTeX

@inproceedings{kazemkhani2025iclr-gpudrive,
  title     = {{GPUDrive: Data-Driven, Multi-Agent Driving Simulation at 1 Million FPS}},
  author    = {Kazemkhani, Saman and Pandya, Aarav and Cornelisse, Daphne and Shacklett, Brennan and Vinitsky, Eugene},
  booktitle = {International Conference on Learning Representations},
  year      = {2025},
  url       = {https://mlanthology.org/iclr/2025/kazemkhani2025iclr-gpudrive/}
}