TinyGPU
LiveOverview
TinyGPU is a Python-based GPU architecture simulator built to make low-level GPU execution easier to understand. It models parallel threads, registers, memory, shared memory operations, synchronization, and instruction execution in a small educational simulator.
The project is designed for students, engineers, and curious developers who want to understand how GPU-style parallel execution works without needing actual CUDA hardware.
Architecture
Challenges & Solutions
GPU architecture is abstract and difficult to understand from theory or static diagrams alone.
Built a small Python simulator that makes thread-level execution, register state, and memory operations visible through animated GIF exports.
Synchronization and shared memory are some of the hardest GPU concepts for beginners to internalize.
Added explicit shared memory instructions and SYNC behavior with visual traces so learners can observe barriers in action.
Project Stats
GitHub Stars
60+
Verified from GitHub in July 2026
Example Kernels
6
Vector add, reduce, sort, sync & more
Live Demo
GitHub Pages
Documentation and demo hosted live
Visualization
GIF Export
Animated execution traces per kernel
Features
- SIMT-style parallel execution model with per-thread registers and program counters
- GPU-like instruction set: SET, ADD, MUL, LD, ST, JMP, BNE, BEQ, SYNC, CSWAP
- Shared memory instructions and synchronization behavior
- SIMT divergence handling across thread branches
- Animated GIF export of execution visualizations
- Example kernels: vector add, reduce sum, odd-even sort, shared block sum, sync tests, loop tests
- Live documentation and demo hosted on GitHub Pages