Project

GPUVision

GPUVision is a configurable C++17 GPU simulator that models warp execution, streaming multiprocessor activity, memory delays, and scheduling algorithm performance. It includes a benchmarking framework for configurable workloads, exports performance results to CSV and JSON, and provides a Next.js dashboard for visualizing warp states, SM activity, execution timelines, and scheduler metrics.

Overview

GPUVision is a configurable simulator for studying GPU warp execution, streaming multiprocessor activity, memory delays, and scheduler behavior.

Problem

GPU scheduling behavior can be difficult to reason about from raw metrics alone. A simulator needs clear workload configuration, comparable scheduling runs, and visual output that makes warp and SM state changes easier to inspect.

Solution

The project uses a C++17 simulation engine with benchmark exports to CSV and JSON, then surfaces execution timelines and scheduler metrics through an interactive Next.js dashboard.

Key Features

  • Configurable GPU warp and instruction simulation
  • Scheduler performance comparisons
  • IPC, total-cycle, SM-utilization, and warp-completion metrics
  • CSV and JSON benchmark exports
  • More than 14 Google Test unit tests
  • Interactive Next.js performance dashboard

What I Learned

  • How scheduler policy affects throughput and completion timing under configurable workloads
  • How to validate simulation behavior with focused unit tests
  • How structured benchmark exports make systems data easier to analyze in a web dashboard

Future Improvements

  • Add more scheduler policies for comparison
  • Expand workload presets for different memory-delay patterns
  • Add richer dashboard filters for benchmark analysis