Skip to main content

Drivers for GPU node groups in a Managed Kubernetes cluster

You can create Managed Kubernetes clusters on a cloud server with a GPU:

Kernel modules in preinstalled drivers

Kernel modules in preinstalled drivers can be:

  • проприетарными — используются in графических процессорах with архитектурой Pascal, Maxwell and Volta;
  • открытыми — используются in графических процессорах with архитектурой Turing and всеми последующими поколениями архитектуры.

Among available GPUs, only the NVIDIA® GTX 1080 GPU with Pascal-based architecture uses proprietary kernel modules; the rest use open ones.

Read more about kernel modules in the Kernel Modules section of the NVIDIA® documentation.

Install drivers

Чтобы самостоятельно установить драйвер, используйте приложение NVIDIA® GPU Operator

  1. Connect to the cluster.

  2. Установите менеджер пакетов Helm версии 3.7.0 and выше.

  3. Add the nvidia repository to Helm:

    helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
  4. Update the nvidia repository in Helm:

    helm repo update
  5. Install NVIDIA GPU Operator and specify the required GPU driver version:

    helm install \
    --namespace gpu-operator \
    --create-namespace \
    --set driver.version=<driver_version> \
    gpu-operator nvidia/gpu-operator

    Specify <driver_version> — the NVIDIA® driver version. You can find it in the NVIDIA GPU Driver row of the GPU Operator Component Matrix in the NVIDIA® documentation.

  6. To verify that the NVIDIA GPU Operator and GPU driver are installed correctly, run a GPU application. For example, the CUDA VectorAdd application for vector addition:

    cat << EOF | kubectl create -f -
    apiVersion: v1
    kind: Pod
    metadata:
    name: cuda-vectoradd
    spec:
    restartPolicy: OnFailure
    containers:
    - name: cuda-vectoradd
    image: "nvidia/samples:vectoradd-cuda11.2.1"
    resources:
    limits:
    nvidia.com/gpu: 1
    EOF
  7. Make sure the CUDA VectorAdd application has successfully finished — the pod status should be Completed:

    kubectl get pods

    В ответе у пода cuda-vectoradd будет статус Completed:

    NAME READY STATUS RESTARTS AGE
    cuda-vectoradd 0/1 Completed 0 51s