For the most detailed and up-to-date documentation please visit our Instinct Documenation site: https://instinct.docs.amd.com/projects/gpu-operator
AMD GPU Operator simplifies the deployment and management of AMD Instinct GPU accelerators within Kubernetes clusters. This project enables seamless configuration and operation of GPU-accelerated workloads, including machine learning, Generative AI, and other GPU-intensive applications.
kubectl CLI tool configured to access your clusterhelm repo add jetstack https://charts.jetstack.io --force-update
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.15.1 \
--set crds.enabled=true
helm repo add rocm https://rocm.github.io/gpu-operator
helm repo update
helm install amd-gpu-operator rocm/gpu-operator-charts \
--namespace kube-amd-gpu \
--create-namespace \
--version=v1.4.0
Installation Options
- Skip NFD installation: `--set node-feature-discovery.enabled=false`
- Skip KMM installation: `--set kmm.enabled=false`
- Disable KMM watching/usage: `--set kmm.watch=false`
- Skip Auto Node Remediation: `--set remediation.enabled=false`
- Enable DRA driver (instead of device plugin): `--set deviceConfig.spec.draDriver.enable=true --set deviceConfig.spec.devicePlugin.enableDevicePlugin=false`
- Disable DeviceClass creation: `--set draDriver.deviceClass.create=false`
[!WARNING] It is strongly recommended to use AMD-optimized KMM images included in the operator release. This is not required when installing the GPU Operator on Red Hat OpenShift.
After the installation of AMD GPU Operator:
DeviceConfig installed. If you are using default DeviceConfig, you can modify the default DeviceConfig to adjust the config for your own use case. kubectl edit deviceconfigs -n kube-amd-gpu defaultDeviceConfig (either by using --set crds.defaultCR.install=false or installing a chart prior to v1.3.0), you need to create the DeviceConfig custom resource in order to trigger the operator start to work. By preparing the DeviceConfig in the YAML file, you can create the resouce by running kubectl apply -f deviceconfigs.yaml.DeviceConfig:
a. Operand pods are stuck in Init:0/1 state: It means your GPU worker doesn't have inbox GPU driver loaded. We suggest check the Driver Installation Guide then modify the default DeviceConfig to ask Operator to install the out-of-tree GPU driver for your worker nodes.
kubectl edit deviceconfigs -n kube-amd-gpu default
b. No operand pods showed up: It is possible that default DeviceConfig selector feature.node.kubernetes.io/amd-gpu: "true" cannot find any matched node.kubectl get node -oyaml | grep -e "amd-gpu:" -e "amd-vgpu:"DeviceConfig selector to feature.node.kubernetes.io/amd-vgpu: "true"DeviceConfig.Following dashboards are provided for visualizing GPU metrics collected from device-metrics-exporter:
Please refer to our Developer Guide.
For bugs and feature requests, please file an issue on our GitHub Issues page.
The AMD GPU Operator is licensed under the Apache License 2.0.
$ claude mcp add gpu-operator \
-- python -m otcore.mcp_server <graph>