Some GPUs include a GPU System Processor (GSP) which can be used
to offload GPU initialization and management tasks. This processor
is driven by the gsp_*.bin
firmware
files under /lib/firmware/nvidia/530.41.03/
. Each GSP
firmware file is named after a GPU architecture (for example,
gsp_tu10x.bin
is named after Turing)
and supports GPUs from one or more architectures. A few select
products currently use GSP by default, and more products will take
advantage of GSP in future driver releases.
Offloading tasks which were traditionally performed by the driver on the CPU can improve performance due to lower latency access to GPU hardware internals.
The nvidia-smi utility can be used to query the current use of GSP firmware. It will display a valid version if GSP firmware is enabled, or “N/A” if disabled:
$ nvidia-smi -q ... GSP Firmware Version : 530.41.03 ...
This information is also present in the per-GPU information file
in the /proc
file system.
$ cat /proc/driver/nvidia/gpus/domain:bus:device.function/information ... GSP Firmware: 530.41.03
The driver can be forced to disable use of GSP firmware by setting the kernel module parameter NVreg_EnableGpuFirmware=0.
Turing and later GPUs are capable of using the GSP firmware by setting the kernel module parameter NVreg_EnableGpuFirmware=1. However, note feature and GPU support limitations below.
When using GSP firmware, the driver will not yet correctly support some display-related features (notably: G-SYNC), and runtime and S0ix based power management related features. These features will be added to GSP firmware in future driver releases.
The following GPUs default to using the GSP firmware:
NVIDIA GPU product | Device PCI ID * |
---|---|
Tesla T10 | 1E37 10DE 1370 |
NVIDIA T4G | 1EB4 10DE 157D |
Tesla T4 | 1EB8 |
NVIDIA T4 32GB | 1EB9 |
NVIDIA A100-PG509-200 | 20B0 10DE 1450 |
NVIDIA A100-SXM4-40GB | 20B0 |
NVIDIA A100-PCIE-40GB | 20B1 10DE 145F |
NVIDIA A100-SXM4-80GB | 20B2 10DE 1463 |
NVIDIA A100-SXM4-80GB | 20B2 10DE 147F |
NVIDIA A100-SXM4-80GB | 20B2 10DE 1484 |
NVIDIA PG506-242 | 20B3 10DE 14A7 |
NVIDIA PG506-243 | 20B3 10DE 14A8 |
NVIDIA A100-PCIE-80GB | 20B5 10DE 1533 |
NVIDIA PG506-230 | 20B6 10DE 1491 |
NVIDIA PG506-232 | 20B6 10DE 1492 |
NVIDIA A30 | 20B7 10DE 1532 |
NVIDIA A100-PG506-207 | 20F0 10DE 1583 |
NVIDIA A100-PCIE-40GB | 20F1 10DE 145F |
NVIDIA A100-PG506-217 | 20F2 10DE 1584 |
NVIDIA A40 | 2235 10DE 145A |
NVIDIA A10 | 2236 |
NVIDIA A10G | 2237 |
NVIDIA A16 | 25B6 10DE 14A9 |
NVIDIA A2 | 25B6 10DE 157E |
NVIDIA A800-80 | 20F5 |
NVIDIA A800-40 | 20F6 |
NVIDIA L40 | 26B5 |
NVIDIA L40G | 26B8 |
NVIDIA L4 | 27B8 |
* If three IDs are listed, the first is the PCI Device ID, the second is the PCI Subsystem Vendor ID, and the third is the PCI Subsystem Device ID.