Skip to content

Commit 1b7b775

Browse files
authored
Merge pull request #2105 from eero-t/gpu-readme
Update GPU plugin README driver section
2 parents 531a787 + 64243af commit 1b7b775

File tree

1 file changed

+18
-20
lines changed

1 file changed

+18
-20
lines changed

cmd/gpu_plugin/README.md

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ For example containers with Intel media driver (and components using that), can
3939
video transcoding operations, and containers with the Intel OpenCL / oneAPI Level Zero
4040
backend libraries can offload compute operations to GPU.
4141

42-
Intel GPU plugin may register four node resources to the Kubernetes cluster:
42+
Intel GPU plugin may register four per-node resource types to the Kubernetes cluster:
4343
| Resource | Description |
4444
|:---- |:-------- |
45-
| gpu.intel.com/i915 | GPU instance running legacy `i915` KMD |
46-
| gpu.intel.com/i915_monitoring | Monitoring resource for the legacy `i915` KMD devices |
47-
| gpu.intel.com/xe | GPU instance running new `xe` KMD |
48-
| gpu.intel.com/xe_monitoring | Monitoring resource for the new `xe` KMD devices |
45+
| gpu.intel.com/i915 | Legacy `i915` KMD (Kernel Mode Driver) provided GPU instance |
46+
| gpu.intel.com/i915_monitoring | Monitoring resource for the `i915` KMD provided devices |
47+
| gpu.intel.com/xe | `xe` KMD provided GPU instance |
48+
| gpu.intel.com/xe_monitoring | Monitoring resource for the `xe` KMD provided devices |
4949

5050
For workloads on different KMDs, see [KMD and UMD](#kmd-and-umd).
5151

@@ -229,28 +229,26 @@ Kubernetes CDI support is included since 1.28 release. In 1.28 it needs to be en
229229

230230
### KMD and UMD
231231

232-
There are 3 different Kernel Mode Drivers (KMD) available: `i915 upstream`, `i915 backport` and `xe`:
233-
* `i915 upstream` is a vanilla driver that comes from the upstream kernel and is included in the common Linux distributions, like Ubuntu.
234-
* `i915 backport` is an [out-of-tree driver](https://github.com/intel-gpu/intel-gpu-i915-backports/) for older enterprise / LTS kernel versions, having better support for new HW before upstream kernel does. API it provides to user-space can differ from the eventual upstream version.
235-
* `xe` is a new KMD that is intended to support future GPUs. While it has [experimental support for latest current GPUs](https://docs.kernel.org/gpu/rfc/xe.html) (starting from Tigerlake), it will not support them officially.
232+
There are 3 different Kernel Mode Drivers (KMDs) available:
233+
* `i915` ([out-of-tree](https://github.com/intel-gpu/intel-gpu-i915-backports/)): official driver for Data Center GPUs, supporting only limited set of enterprise / LTS kernel versions.
234+
* `i915` (upstream): official upstream kernel driver for older Intel client GPUs. Included in the common Linux distributions like Ubuntu.
235+
* `xe`: official upstream kernel driver for the latest (Xe2 or newer architecture) Intel GPUs.
236236

237-
For optimal performance, the KMD should be paired with the same UMD variant. When creating a workload container, depending on the target hardware, the UMD packages should be selected approriately.
237+
Although given KMD may seem to work fine also on other hardware (HW), it's validated only for [hardware it officially supports](https://dgpu-docs.intel.com/devices/hardware-table.html), and can have problems on others. User-space APIs also differ between these KMDs, so care should be taken to ensure that User Space Drivers (UMDs) within containers match KMDs used on the nodes they run, e.g. by them being installed from the same repository.
238238
239-
| KMD | UMD packages | Support notes |
239+
| KMD | KMD / UMD packages | Support notes |
240240
|:---- |:-------- |:------- |
241-
| `i915 upstream` | Distro Repository | For Integrated GPUs. Newer Linux kernels will introduce support for Arc, Flex or Max series. |
242-
| `i915 backport` | [Intel Repository](https://dgpu-docs.intel.com/driver/installation.html#install-steps) | Best for Arc, Flex and Max series. Untested for Integrated GPUs. |
243-
| `xe` | Source code only | Experimental support for Arc, Flex and Max series. |
244-
245-
> *NOTE*: Xe UMD is in active development and should be considered as experimental.
241+
| `i915` (out-of-tree) | [Intel Repository](https://dgpu-docs.intel.com/driver/installation.html) | For Flex and Max series Data Center GPUs. |
242+
| `i915` (upstream) | Distro Repository | For older Client GPUs. |
243+
| `xe` | Distro or [Intel Repository](https://dgpu-docs.intel.com/driver/client/overview.html) | For discrete Battlemage, integrated LunarLake, and newer GPUs. |
246244
247245
Creating a workload that would support all the different KMDs is not currently possible. Below is a table that clarifies how each domain supports different KMDs.
248246
249-
| Domain | i915 upstream | i915 backport | xe | Notes |
247+
| Domain | `i915` (upstream) | `i915` (out-of-tree) | `xe` | Notes |
250248
|:---- |:-------- |:------- |:------- |:------- |
251-
| Compute | Default | [NEO_ENABLE_i915_PRELIM_DETECTION](https://github.com/intel/compute-runtime/blob/3341de7a0d5fddd2ea5f505b5d2ef5c13faa0681/CMakeLists.txt#L496-L502) | [NEO_ENABLE_XE_DRM_DETECTION](https://github.com/intel/compute-runtime/blob/3341de7a0d5fddd2ea5f505b5d2ef5c13faa0681/CMakeLists.txt#L504-L510) | All three KMDs can be supported at the same time. |
252-
| Media | Default | [ENABLE_PRODUCTION_KMD](https://github.com/intel/media-driver/blob/a66b076e83876fbfa9c9ab633ad9c5517f8d74fd/CMakeLists.txt#L58) | [ENABLE_XE_KMD](https://github.com/intel/media-driver/blob/a66b076e83876fbfa9c9ab633ad9c5517f8d74fd/media_driver/cmake/linux/media_feature_flags_linux.cmake#L187-L190) | Xe with upstream or backport i915, not all three. |
253-
| Graphics | Default | Unknown | [intel-xe-kmd](https://gitlab.freedesktop.org/mesa/mesa/-/blob/e9169881dbd1f72eab65a68c2b8e7643f74489b7/meson_options.txt#L708) | i915 and xe KMDs can be supported at the same time. |
249+
| Compute | Default | NEO_ENABLE_I915_PRELIM_DETECTION | Default since `24.13.29138.x` | Same-time support can be built for all three KMDs. |
250+
| Media | Default | ENABLE_PRODUCTION_KMD | Default since `intel-media-25.2.2` | `xe` with either upstream or out-of-tree `i915`, not all three. |
251+
| Graphics | Default | Unsupported | Default since `mesa-24.0.5` | Both `i915` (upsteam) and `xe` KMDs supported at the same time. |
254252
255253
### Health management
256254

0 commit comments

Comments
 (0)