gpgpu-sim/gpgpu-sim_distribution

GPGPU-Sim provides a detailed simulation model of contemporary NVIDIA GPUs running CUDA and/or OpenCL workloads. It includes support for features such as TensorCores and CUDA Dynamic Parallelism as well as a performance visualization tool, AerialVisoin, and an integrated energy model, GPUWattch.

GPGPU‑Sim – Cycle‑level GPU Architecture Simulator

What it is – GPGPU‑Sim is an open‑source, cycle‑accurate simulator that models modern NVIDIA‑style graphics processing units (GPUs). It can run programs written for CUDA or OpenCL and produces detailed timing, functional, and power‑consumption results.

Why it matters – Researchers use it to study how GPU hardware works, to explore new architectural ideas, and to evaluate the performance and energy use of deep‑learning workloads without needing expensive physical GPUs.

Key components

  • Core simulator – Executes PTX/SASS instruction streams cycle by cycle, modelling warp scheduling, memory hierarchy, and compute units.
  • AccelWattch power model – An extensible framework that estimates GPU power draw, built on the McPAT model and validated against real Volta GPUs.
  • AerialVision – A visualisation tool that plots simulation statistics for easier analysis.
  • Integration with Accel‑Sim – Allows trace‑based simulation using NVIDIA’s NVBit SASS traces and supports execution‑driven modes for PyTorch/CuDNN.

Typical workflow

  1. Install dependencies – Linux system, CUDA toolkit, optional OpenCL driver, and a few development packages (gcc, make, bison, etc.). Docker or VS Code dev‑container setups are provided for convenience.
  2. Build – Choose a debug or release configuration and compile via CMake or the legacy Makefile.
  3. Run – Point the simulator’s library path to your compiled CUDA (or PyTorch) binary, optionally enable the AccelWattch power model, and launch the program. Results are written to log files and can be visualised with AerialVision.

Who it’s for – Computer‑architecture researchers, graduate students, and engineers who need a detailed, configurable GPU model for performance or power studies, especially when evaluating new hardware features such as Tensor Cores or dynamic parallelism.

How to get started – Clone the repo, follow the “Step 1‑3” instructions in the README, or pull the pre‑built Docker image (ghcr.io/accel-sim/accel-sim-framework:ubuntu-24.04-cuda-12.8). The manual at http://gpgpu-sim.org/manual/ provides deeper documentation.

Related

  • Project
  • Project
  • Project
  • Project