/GPGPUSim-Ramulator

The source code for GPGPUSim+Ramulator simulator. In this version, GPGPUSim uses Ramulator to simulate the DRAM. This simulator is used to produce some of the results in our SIGMETRICS 2019 paper: Ghose et al., "Demystifying Complex Workload-DRAM Interactions: An Experimental Study" at https://arxiv.org/pdf/1902.07609.pdf.

Primary LanguageC++OtherNOASSERTION

GPGPUSim+Ramulator

This reposity contains the source code of GPGPUSim integrated with Ramulator as a DRAM model.

GPGPU-Sim is a cycle-level simulator modeling contemporary graphics processing units (GPUs) running GPU computing workloads written in CUDA or OpenCL. The GPGPUSim+Ramulator simualtor is using GPGPU-Sim Simulator Version 3.2.2 http://www.ece.ubc.ca/~aamodt/papers/gpgpusim.ispass09.pdf

Ramulator is a fast and extensible DRAM simulator, with built-in support for modeling many different DRAM technologies, described in the IEEE CAL 2015 paper by Kim et al. at http://users.ece.cmu.edu/~omutlu/pub/ramulator_dram_simulator-ieee-cal15.pdf

This Simulator supports these DRAM standards:

  • DDR3 (2007), DDR4 (2012)
  • LPDDR3 (2012), LPDDR4 (2014)
  • GDDR5 (2009)
  • WIO (2011), WIO2 (2014)
  • HBM (2013)

Citation

Please cite the following paper if you find this simulation infrastructure useful:

S. Ghose, T. Li, N. Hajinazar, D. Senol Cali, and O. Mutlu, "Demystifying Complex Workload–DRAM Interactions: An Experimental Study", SIGMETRICS 2019.



BUILDING

  • This version requires a C++11 compiler (e.g., clang++, g++-5)
  • The process for compiling this version is identical to the process of compiling regular GPGPU-Sim, so first read the GPGPUSim's README file.


RUNING

  • In the gpgpusim.config file:

    • Set the gpgpu_ramulator_config to point to the address of the desired DRAM standard. (Supported DRAM standards are provided in Ramulator_configs directory).

    • Set the gpgpu_ramulator_cache_line_size to the desired L2 cache line size.

    • Adjust the gpgpu_dram_timing_opt acording to the desired DRAM standard.

    • In gpgpu_clock_domains, set the "DRAM Clock" acording to the desired DRAM standard.

  • The rest of the process for running this version is identical to the process for running regular GPGPU-Sim, so first read the GPGPUSim's README file.



Please send your questions to Nastaran Hajinazar at nastaran.hajinazar@gmail.com

The current version of the simulator is provided as is, and should be treated as an alpha version.