Chapter 43. GSP Firmware

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/535.146.02/. 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.

Query Mode

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                  : 535.146.02
    ...

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:    535.146.02

Disabling GSP Mode

The driver can be forced to disable use of GSP firmware by setting the kernel module parameter NVreg_EnableGpuFirmware=0.

Enabling GSP Mode

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.

Supported Features

However, in the current release, some display and graphics features (notably: SLI, G-Sync on notebooks, preserving video memory across power management events with NVreg_PreserveVideoMemoryAllocations set) and NVIDIA virtual GPU (vGPU), are not yet supported. These features will be added in upcoming driver releases.

Supported GPUs

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.