I am often get asked in DMs about how GPUs work. There is a lot of information on GPU architectures online, one can start with these:
- Render Hell 2.0: Easy to follow and thorough introduction with extensive list of references for further study.
- Life of a triangle – NVIDIA’s logical pipeline. High level view of the NVidia’s GPU architecture
- Triangles are precious. High level view of AMD’s GPU (GCN) architecture.
And then can refer to these for a more in-depth study:
- From Shader Code to a Teraflop: How GPU Shader Cores Work, Kayvon Fatahalian’s seminal presentation on GPU architectures. It is also worth check out his Parallel Computer Architecture and Programming Stanford course.
- Trip down the GPU lane with Machine Learning, this presentation has a machine learning twist but also a good introduction to GPU architecture
- A trip through the Graphics Pipeline, comprehensive series of posts on how each GPU pipeline stage works.
- Understanding Modern GPUs, another series of blogposts on how the various GPU pipeline components work.
- Low-Level GPU Documentation, a large collection of publicly available GPU documentation including NVidia, AMD and Intel
- AMD GPU Open good resource, they often share low-level posts on AMD GPUs.
- Intel processor graphics: architecture and programming, low level presentation with a lot of details on Intel’s GPU architecture.
It is also a good idea to look for documentation about how compute shaders work, like:
- Introduction to compute shaders, More compute shaders and Even more compute shaders, a great series on compute shaders.
- Compute Shaders: Optimize your engine using compute, introduction to compute shaders and how do they differ from vertex and pixel shaders from a programming and a hardware perspective.
- Intro to parallel programming, worth watching course on programming with compute shaders (CUDA, but transferable).
as they are “closer to the metal” than pixel/vertex shaders in that they require you to think in threads and often synchronise execution and manage memory.
Also posts that discuss GPU profiling and performance, such as
- The Peak-Performance-Percentage Analysis Method for Optimizing Any GPU Workload and also Fixing the Hyperdrive: Maximizing Rendering Performance on NVIDIA GPUs.
- GPU Performance for Game Artists
- What’s up with my branch on GPU?
as they often expose details about how a GPU works.
Additionally, it is worth searching for “GPU” or “performance” in the GDC Vault, it can often return some relevant presentations.
I am closing this nowhere near exhaustive list with a few alternative presentations of GPU architecture concepts:
- Understanding the anatomy of GPUs using Pokémon, which uses a trading card paradigm for GPU architecture learning
- Where do GPUs come from, which uses a robot manufacturing pipeline paradigm to explain how GPUs work.