For the impatient:
- Download
GPU-Benchmark-GUI.exefrombuild/Release/ - Double-click to run
- Select your GPU API (CUDA/OpenCL/DirectCompute)
- Click "Run Benchmark"
- Watch your GPU flex! 💪
- OS: Windows 10 (64-bit) or Windows 11
- GPU: Any DirectX 11 compatible GPU
- NVIDIA: GTX 600 series or newer
- AMD: Radeon HD 7000 series or newer
- Intel: HD Graphics 4000 or newer
- RAM: 4GB system memory
- Storage: 100MB free space
- OS: Windows 11 (64-bit)
- GPU: NVIDIA RTX series (for full CUDA support)
- RTX 2000/3000/4000 series recommended
- RAM: 8GB+ system memory
- Storage: 500MB free space (for source code)
- Visual Studio: 2019 or 2022 (Community/Professional/Enterprise)
- CUDA Toolkit: 11.0 or newer (tested with 12.x)
- CMake: 3.18 or newer
- Windows SDK: 10.0 or newer
- Git: For cloning the repository
GPU-Benchmark/
└── build/
└── Release/
└── GPU-Benchmark-GUI.exe ← This is it!
- Method 1: Double-click
GPU-Benchmark-GUI.exe - Method 2: Use launch script:
scripts\launch\RUN_GUI.cmd
- Application window opens with GPU Benchmark Suite branding
- Check "System Capabilities" section:
- ✅ Green = API available
- ❌ Red = API not available (driver/hardware issue)
- See your GPU name and available backends
- Select Backend: CUDA, OpenCL, or DirectCompute
- Select Suite: Standard (recommended for first run)
- Click "Run Benchmark" button
- Wait ~30-60 seconds for completion
- View results in graphs and table
Download: https://visualstudio.microsoft.com/downloads/
Required Workloads:
- "Desktop development with C++"
- "Windows SDK 10.0.xxxxx"
Installation Steps:
- Run installer
- Select "Desktop development with C++"
- In "Individual Components" tab, ensure:
- MSVC v143 C++ compiler
- Windows 10/11 SDK
- CMake tools for Windows
- Install (takes ~15-20 minutes)
Download: https://developer.nvidia.com/cuda-downloads
Version: 12.x recommended (11.x also works)
Installation Steps:
- Download installer (~3GB)
- Run installer
- Choose "Custom" installation
- Select:
- CUDA Compiler (nvcc)
- CUDA Runtime
- CUDA Documentation (optional)
- Visual Studio Integration
- Install (takes ~10 minutes)
- Verify installation:
Should output:
nvcc --version
Cuda compilation tools, release 12.x
Download: https://cmake.org/download/
Version: 3.18 or newer
Installation Steps:
- Download Windows installer (x64)
- Run installer
- Important: Check "Add CMake to system PATH for all users"
- Install
- Verify:
cmake --version
Download: https://git-scm.com/downloads
Only needed if cloning from repository.
Option A: Clone from Git
git clone https://github.com/davesohamm/GPU-Benchmark.git
cd GPU-BenchmarkOption B: Download ZIP
- Download ZIP from GitHub
- Extract to
Y:\GPU-Benchmark\(or any location) - Open terminal in that directory
Method 1: Via Start Menu
- Start Menu → Visual Studio 2022
- Click "Developer Command Prompt for VS 2022"
Method 2: Via Visual Studio
- Open Visual Studio 2022
- Tools → Command Line → Developer Command Prompt
cd /d Y:\GPU-Benchmark(Replace Y:\ with your actual path)
scripts\build\DOWNLOAD_IMGUI.cmdThis downloads ImGui library to external/imgui/
Option A: Use Build Script (Easiest)
scripts\build\BUILD.cmdThis script:
- Creates
build/directory - Runs CMake configuration
- Compiles in Release mode
- Takes ~2-3 minutes
Option B: Manual CMake
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 ..
cmake --build . --config Release
cd ..What Gets Built:
build/Release/
├── GPU-Benchmark-GUI.exe ← Main GUI application
├── GPU-Benchmark.exe ← CLI version (for testing)
├── test_cuda_backend.exe ← Unit tests
├── test_opencl_backend.exe
└── ... (other test executables)
scripts\launch\RUN_GUI.cmdOr directly:
build\Release\GPU-Benchmark-GUI.exeSolution:
- Install CUDA Toolkit from NVIDIA
- Ensure
nvccis in PATH:Should output:where nvccC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.x\bin\nvcc.exe - Restart terminal/Visual Studio
Solution:
- Install CMake
- Add to PATH manually:
- Control Panel → System → Advanced → Environment Variables
- Add
C:\Program Files\CMake\binto PATH
- Restart terminal
Solution:
- Open Developer Command Prompt (not regular CMD)
- Or run:
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
Solution:
- Close all running instances of the exe
- Run:
taskkill /F /IM GPU-Benchmark-GUI.exe - Rebuild
Solution:
scripts\build\DOWNLOAD_IMGUI.cmdThen rebuild.
Solution:
- Update NVIDIA drivers: https://www.nvidia.com/download/index.aspx
- Restart computer
- Run again
Solution:
- OpenCL should come with GPU drivers
- Reinstall GPU drivers (NVIDIA/AMD/Intel)
Solution:
- Update Windows
- Install DirectX End-User Runtime: https://www.microsoft.com/en-us/download/details.aspx?id=35
Solution:
- Check Windows Event Viewer for details
- Ensure GPU drivers are up to date
- Try running as Administrator
- Check if antivirus is blocking it
Shows what's available on your system:
CUDA: ✅ Available (NVIDIA RTX 3050)
OpenCL: ✅ Available (v3.0)
DirectCompute: ✅ Available (DirectX 11.1)
- Backend: CUDA / OpenCL / DirectCompute
- Suite:
- Quick (10M elements) - 10 seconds
- Standard (50M elements) - 30 seconds
- Comprehensive (100M elements) - 60 seconds
- Live Progress Bar: Shows current benchmark progress
- Performance Graphs: Real-time line charts for each benchmark
- History Tracking: Stores up to 100 test results
- Test Indexing: "Test 1", "Test 2", etc. with timestamps
- Bandwidth (GB/s): Memory transfer speed (higher = better)
- GFLOPS: Compute performance (billions of FLOPs per second)
- Time (ms): How long the benchmark took
Expected Performance on RTX 3050:
VectorAdd: ~180 GB/s (80% of peak bandwidth)
MatrixMul: ~800-1000 GFLOPS
Convolution: ~300 GB/s
Reduction: ~150 GB/s
Completion Time: ~30 seconds (Standard suite)
Expected Performance:
VectorAdd: ~150-170 GB/s
MatrixMul: ~700-900 GFLOPS
Convolution: ~250 GB/s
Reduction: ~130 GB/s
Slightly slower than CUDA due to driver overhead.
Expected Performance:
VectorAdd: ~140-160 GB/s
MatrixMul: ~600-800 GFLOPS
Convolution: ~200 GB/s
Reduction: ~120 GB/s
Good performance, always available on Windows.
- Click "Export CSV" button
- Choose save location (file dialog opens)
- Enter filename (e.g.,
my_benchmark_results.csv) - Click "Save"
Backend,Benchmark,Bandwidth(GB/s),GFLOPS,Time(ms),Timestamp
CUDA,VectorAdd,182.4,0.0,0.82,2026-01-09 14:30:45
CUDA,MatrixMul,245.6,1023.5,8.45,2026-01-09 14:30:54
...Excel:
- Open CSV in Excel
- Create charts from data
- Use PivotTables for analysis
Python:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('results.csv')
df.groupby('Backend')['Bandwidth(GB/s)'].mean().plot(kind='bar')
plt.show()Currently, GUI runs all 4 benchmarks. For selective testing, use CLI version (in development).
- Run benchmark with Backend A
- Run benchmark with Backend B
- Compare graphs side-by-side
- Export both to CSV for detailed analysis
Modify suite selection:
- Quick: 10M elements (~10 sec)
- Standard: 50M elements (~30 sec)
- Comprehensive: 100M elements (~60 sec)
Larger sizes = more accurate measurements (less noise).
BUILD.cmd # Full build (recommended)
REBUILD_FIXED.cmd # Clean rebuild
check_setup.ps1 # Verify environment setup (PowerShell)
DOWNLOAD_IMGUI.cmd # Download ImGui libraryRUN_GUI.cmd # Launch GUI application
LAUNCH_GUI_SIMPLE.cmd # Simple launcher
RUN_MAIN_APP.cmd # Launch CLI versionRUN_ALL_TESTS.cmd # Run all unit tests
TEST_COMPLETE_SUITE.cmd # Comprehensive test suite
TEST_ALL_BACKENDS_GUI.cmd # Test all backends in GUIIf you have a different NVIDIA GPU:
Edit: CMakeLists.txt
# Line 14:
set(CMAKE_CUDA_ARCHITECTURES 86) # Change to your GPU's compute capabilityCompute Capabilities:
- RTX 4000 series: 89
- RTX 3000 series: 86
- RTX 2000 series: 75
- GTX 1000 series: 61
- GTX 900 series: 52
Reference: https://developer.nvidia.com/cuda-gpus
Edit: src/gui/main_gui_fixed.cpp
Search for "Suite" definitions and modify:
case 0: size = 10'000'000; break; // Quick
case 1: size = 50'000'000; break; // Standard
case 2: size = 100'000'000; break; // ComprehensiveRebuild after changes:
scripts\build\BUILD.cmdComing soon: Step-by-step video guide on YouTube.
- Explore Different Backends - Compare CUDA vs OpenCL vs DirectCompute
- Try Different Suites - See how performance scales with problem size
- Export to CSV - Analyze results in Excel/Python
- Read Documentation - Understand what each benchmark measures
- Check Source Code - Learn GPU programming from working examples
- Why This Project? - Philosophy and motivation
- Architecture - Deep technical dive
- Internal Workings - How everything works
- Build Setup Guide - Detailed build instructions
- Main README:
README.md(you are here) - Architecture:
docs/ARCHITECTURE.md - Build Guide:
docs/build-setup/BUILD_GUIDE.md - User Guides:
docs/user-guides/
- Check Troubleshooting section above
- Read
docs/bug-fixes/folder for known issues - Check GitHub Issues (if public repo)
- Developer: Soham Dave
- GitHub: https://github.com/davesohamm
- Project: GPU Benchmark Suite v1.0
After following this guide, you should have:
- GPU-Benchmark-GUI.exe running successfully
- Completed at least one benchmark run
- Seen performance graphs with your GPU's results
- Understanding of what each benchmark measures
- Exported results to CSV (optional)
- Explored different backends (CUDA/OpenCL/DirectCompute)
Congratulations! You're now ready to benchmark your GPU like a pro! 🎉🚀
Next: Read the main README for complete project documentation.
Last Updated: January 2026
Version: 1.0.0
For: GPU Benchmark Suite