gem5-gpu: A Heterogeneous CPU-GPU Simulator

Paper on IEEE Xplore Local Download Website Code Repository


gem5-gpu is a new simulator that models tightly integrated CPU-GPU systems. It builds on gem5, a modular full-system CPU simulator, and GPGPUSim, a detailed GPGPU simulator. gem5-gpu routes most memory accesses through Ruby, which is a highly configurable memory system in gem5. By doing this, it is able to simulate many system configurations, ranging from a system with coherent caches and a single virtual address space across the CPU and GPU to a system that maintains separate GPU and CPU physical address spaces. gem5gpu can run most unmodified CUDA 3.2 source code. Applications can launch non-blocking kernels, allowing the CPU and GPU to execute simultaneously. We present gem5-gpu’s software architecture and a brief performance validation. We also discuss possible extensions to the simulator. gem5-gpu is open source and available at

Jason Power, Joel Hestness, Marc S. Orr, Mark D. Hill and David A. Wood, “gem5-gpu: A Heterogeneous CPU-GPU Simulator,” in IEEE Computer Architecture Letters, vol. 14, no. 1, pp. 34-36, Jan.-June 1 2015. doi: 10.1109/LCA.2014.2299539

    author={Jason Power and Joel Hestness and Marc S. Orr and Mark D. Hill and David A. Wood}, 
    journal={IEEE Computer Architecture Letters}, 
    title={gem5-gpu: A Heterogeneous CPU-GPU Simulator},