Chapter 43. GSP Firmware
Prev | Part I. Installation and Configuration Instructions | Next

## 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/525.85.05/`. 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                  : 525.85.05
        ...

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

### 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

When using GSP firmware, the driver will not yet correctly support display-related features or power management related features. These features will be added to GSP firmware in future 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

* 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.

Prev | Up | Next
Chapter 42. GPUDirect RDMA Peer Memory Client | Home | Chapter 44. Open Linux Kernel Modules