Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# Type: `gpu`

GPU devices make the specified GPU device or devices appear in the instance.

Note

For containers, a `gpu` device may match multiple GPUs at once. For VMs, each device can match only a single GPU.

The following types of GPUs can be added using the `gputype` device option:

- `physical` (container and VM): Passes an entire GPU through into the instance. This value is the default if `gputype` is unspecified.

- `mdev` (VM only): Creates and passes a virtual GPU through into the instance.

- `mig` (container only): Creates and passes a MIG (Multi-Instance GPU) through into the instance.

- `sriov` (VM only): Passes a virtual function of an SR-IOV-enabled GPU into the instance.

The available device options depend on the GPU type and are listed in the tables in the following sections.

## `gputype`: `physical`

Note

The `physical` GPU type is supported for both containers and VMs. It supports hotplugging only for containers, not for VMs.

A `physical` GPU device passes an entire GPU through into the instance.

### Device options

GPU devices of type `physical` have the following device options:

Key | Type | Default | Description
--- | --- | --- | ---
`gid` | int | `0` | GID of the device owner in the instance (container only)
`id` | string | - | The DRM card ID of the GPU device
`mode` | int | `0660` | Mode of the device in the instance (container only)
`pci` | string | - | The PCI address of the GPU device
`productid` | string | - | The product ID of the GPU device
`uid` | int | `0` | UID of the device owner in the instance (container only)
`vendorid` | string | - | The vendor ID of the GPU device

## `gputype`: `mdev`

Note

The `mdev` GPU type is supported only for VMs. It does not support hotplugging.

An `mdev` GPU device creates and passes a virtual GPU through into the instance. You can check the list of available `mdev` profiles by running `incus info --resources`.

### Device options

GPU devices of type `mdev` have the following device options:

Key | Type | Default | Description
--- | --- | --- | ---
`id` | string | - | The DRM card ID of the GPU device
`mdev` | string | - | The `mdev` profile to use (required - for example, `i915-GVTg_V5_4`)
`pci` | string | - | The PCI address of the GPU device
`productid` | string | - | The product ID of the GPU device
`vendorid` | string | - | The vendor ID of the GPU device

## `gputype`: `mig`

Note

The `mig` GPU type is supported only for containers. It does not support hotplugging.

A `mig` GPU device creates and passes a MIG compute instance through into the instance. Currently, this requires NVIDIA MIG instances to be pre-created.

### Device options

GPU devices of type `mig` have the following device options:

Key | Type | Default | Description
--- | --- | --- | ---
`id` | string | - | The DRM card ID of the GPU device
`mig.ci` | int | - | Existing MIG compute instance ID
`mig.gi` | int | - | Existing MIG GPU instance ID
`mig.uuid` | string | - | Existing MIG device UUID (`MIG-` prefix can be omitted)
`pci` | string | - | The PCI address of the GPU device
`productid` | string | - | The product ID of the GPU device
`vendorid` | string | - | The vendor ID of the GPU device

You must set either `mig.uuid` (NVIDIA drivers 470+) or both `mig.ci` and `mig.gi` (old NVIDIA drivers).

## `gputype`: `sriov`

Note

The `sriov` GPU type is supported only for VMs. It does not support hotplugging.

An `sriov` GPU device passes a virtual function of an SR-IOV-enabled GPU into the instance.

### Device options

GPU devices of type `sriov` have the following device options:

Key | Type | Default | Description
--- | --- | --- | ---
`id` | string | - | The DRM card ID of the parent GPU device
`pci` | string | - | The PCI address of the parent GPU device
`productid` | string | - | The product ID of the parent GPU device
`vendorid` | string | - | The vendor ID of the parent GPU device