adam-maj/tiny-gpu
A minimal GPU design in Verilog to learn how GPUs work from the ground up
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
The project lists 3 contributors on GitHub.
Use Cases & Benefits
- Implements a minimal GPU in Verilog designed to teach GPU architecture, ISA, and execution from the ground up.
- Offers a simplified, fully documented GPU model focusing on core principles, making GPU hardware concepts accessible and understandable.
- Use for educational purposes to learn GPU architecture and instruction set design through hands-on Verilog implementation.
- Use for simulating and tracing execution of parallel kernels like matrix addition and multiplication to understand SIMD programming.
- Use for exploring GPU memory management concepts including asynchronous memory requests, caching, and scheduling in hardware.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
No license detected
No license file detected by GitHub: unless the project grants one elsewhere, the default is all rights reserved.
Community files
- README: present
Watch-outs
- Warning: No license file detected by GitHub: unless the project grants one elsewhere, you generally have no permission to use, modify or distribute the code.
- Warning: No commits in over a year (last push Aug 2024).
- No GitHub releases; pin a commit or tag instead of a release.
General guidance from repository metadata, not legal advice. How we score
From the README
A minimal GPU implementation in Verilog optimized for learning about how GPUs work from the ground up.
Built with <15 files of fully documented Verilog, complete documentation on architecture & ISA, working matrix addition/multiplication kernels, and full support for kernel simulation & execution traces.
If you want to learn how a CPU works all the way from architecture to control signals, there are many resources online to help you.
GPUs are not the same.
Because the GPU market is so competitive, low-level technical details for all modern architectures remain proprietary.
While there are lots of resources to learn about GPU programming, there's almost nothing available to learn about how GPU's work at a hardware level.
The best option is to go through open-source GPU implementations like Miaow and VeriGPU and try to figure out what's going on. This is challenging since these projects aim at being feature complete and functional, so they're quite complex.
This is why I built
tiny-gpu!
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
1.3K+44
Open issues
43+0
Discover Repositories
Search across tracked repositories by name or description