Установить и протестировать NVIDIA GPU Operator

В инструкции описана установка плагина NVIDIA GPU Operator в кластер и проверка поддержки CUDA.

Установить плагин

  1. Создайте группу узлов c GPU.

    Опция GPU доступна только при выделенной квоте, подробнее — в разделе Квоты.

  2. Подключитесь к кластеру Managed Kubernetes.

  3. Создайте пространство имен gpu-operator:

    kubectl create ns gpu-operator
  4. Перезапишите label:

    kubectl label --overwrite ns gpu-operator pod-security.kubernetes.io/enforce = privileged
  5. В личном кабинете перейдите в кластер, для которого создали группу узлов с GPU.

  6. Перейдите на вкладку Плагины и в разделе Доступные для установки выберите NVIDIA GPU Operator.

  7. Нажмите Установить и подтвердите действие.

  8. Дождитесь, когда состояние плагина изменится на «Установлен».

Протестировать плагин

Для тестирования корректной работы плагина развернем небольшое приложение CUDA, выполняющее простое сложение векторов.

  1. Создайте спецификацию cuda-vector-add.yaml:

    apiVersion : v1
    kind : Pod
    metadata :
    name : cuda-vector-add
    spec :
    restartPolicy : OnFailure
    containers :
    - name : cuda-vector-add
    image : "registry.k8s.io/cuda-vector-add:v0.1"
    resources :
    limits :
    nvidia.com/gpu : 1
  2. Создайте под:

    kubectl create -f cuda-vector-add.yaml
  3. Проверьте логи:

    kubectl logs -f cuda-vector-add

    Результат:

    [ Vector addition of 50000 elements ]
    Copy input data from the host memory to the CUDA device
    CUDA kernel launch with 196 blocks of 256 threads
    Copy output data from the CUDA device to the host memory
    Test PASSED
    Done
Evolution