GPU (GPU)
A GPU is the graphics processor. It draws everything you see on the screen, from the desktop to 3D games. Because it is built to do thousands of small calculations at the same time, it is also the workhorse behind modern AI. Some GPUs are built into the main processor; others are separate cards that plug into the motherboard.
A Graphics Processing Unit (GPU) is a massively parallel processor. Where a CPU has a few complex cores, a GPU has thousands of simpler ones grouped into streaming multiprocessors (NVIDIA) or compute units (AMD).
Types:
- Integrated (iGPU): on the CPU die, shares system RAM. Fine for desktops, video decode, and servers.
- Discrete (dGPU): a PCIe card with its own VRAM (GDDR6, GDDR7, or HBM on datacenter parts)
Key specs: VRAM size (often the limit for AI models), memory bandwidth, core count, power draw, and supported APIs.
APIs and compute stacks: OpenGL and Vulkan for graphics; CUDA (NVIDIA), ROCm (AMD), and oneAPI (Intel) for general compute. Most AI frameworks target CUDA first.
Drivers on Linux:
- Intel and AMD: open-source drivers in the kernel and Mesa, work out of the box
- NVIDIA: proprietary driver (or the newer open kernel modules), installed with
ubuntu-drivers. With Secure Boot on, you must enroll a MOK.
Virtualization: a GPU can be passed through to a VM over PCIe (VFIO), or split with vGPU on supported datacenter cards.
Inspecting the GPU on Linux
# Which GPUs are present and which driver is bound
$ lspci -k | grep -A3 -E "VGA|3D"
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics
Kernel driver in use: i915
# Recommended drivers on Ubuntu
$ ubuntu-drivers devices
$ sudo ubuntu-drivers install
# NVIDIA status, VRAM, and load
$ nvidia-smi
# In a VirtualBox VM you will see the virtual adapter
$ lspci | grep VGA
00:02.0 VGA compatible controller: VMware SVGA II Adapter For servers and most homelab hosts, an integrated GPU is enough; the extra power draw of a discrete card buys nothing for file serving or VMs. GPUs earn their place for local AI, video transcoding (Plex and Jellyfin use them for hardware encoding), and passthrough gaming VMs. For local AI, VRAM is the spec that decides which models fit. Black screens after a driver update are often fixed by booting with nomodeset and reinstalling the driver.