Что такое ОПЕРАТОР NVIDIA Узнайте о его установке, его особенностях и способах существования? Kubernetes Эффективное управление окружающей средой GPU ресурсы для расширения AI/ML рабочая нагрузка.
Переведено с Essential Guide to NVIDIA GPU Operator in Kubernetes,Цзоюй Самир Кулкарни; Санкет Судаке.
Поскольку рабочие нагрузки искусственного интеллекта (ИИ) и машинного обучения (МО) продолжают расти по сложности и масштабу, потребность в мощных и эффективных вычислительных ресурсах становится еще более острой. Выполнение рабочих нагрузок в Kubernetes позволяет воспользоваться возможностями масштабируемости и самовосстановления, однако возникают проблемы с управлением и оптимизацией ресурсов графического процессора. Именно здесь в игру вступают ОПЕРАТОРЫ графического процессора и плагины. Они предоставляют решение для развертывания и управления графическими процессорами в Kubernetes.
Есть некоторые GPU ОПЕРАТОР, например Intel Плагин устройстваOPERATOR,AMD GPU OPERATOR и NVIDIA GPU OPERATOR。нода,NVIDIA GPU OPERATOR является одним из самых популярных ОПЕРАТОРОВ. Оно обеспечивает комплексное решение, которое упрощает Kubernetes среда GPU из Развертывание, управление Оптимизация.
В этой статье мы углубимся в оператор NVIDIA GPU OPERATOR и его возможности, а также рассмотрим некоторые базовые структуры, которые позволяют вам использовать эти возможности. Давайте начнем!
существовать Kubernetes Управление в кластере GPU Это может оказаться непростой задачей. Традиционные методы обычно требуют ручной установки конфигурации. GPU драйвер, что отнимает много времени и подвержено ошибкам. Кроме того, воспользуйтесь преимуществами расширенных GPU функционировать и обеспечивать GPU Эффективная передача данных к другим компонентам системы и обратно требует специальных знаний и инструментов. Без упрощенного подхода эти проблемы будут препятствовать AI/ML Рабочая нагрузка по производительности и масштабируемости.
NVIDIA GPU ОПЕРАТОР предоставляет множество функций. это заставляет существовать Kubernetes настройки включены GPU водитель и его конфигурация сделаны с легкостью. Когда необходимо существование для данного узла, начальство управляет индивидуальным AI нагрузка, использование виртуальный графический процессор, несколько экземпляров GPU (MIG) и GPU Возможность выполнения расширенных функций, таких как квантование времени, имеет решающее значение. Кроме того, графический процессор Требуется совместимость с другими приложениями/графическим процессором. а такжехранилищенастраивать Общайтесь быстро。GPUDirect RDMA、GPU Direct хранилищеи GDR Copy существования играет важную роль в достижении этого. графический процессор OPERATOR помогает легко реализовать все эти и многие другие функции в вашем Kubernetes кластер.
Чтобы воспользоваться NVIDIA GPU Функции ОПЕРАТОРА для управления Kubernetes в кластере GPU Ресурсы, вам необходимо следовать структурированному процессу установки и соответствовать определенным предварительным требованиям. условия。
существовать Установите NVIDIA GPU До ОПЕРАТОРА,пожалуйстаубеждаться Встречайте следующее Предварительные условия:
Выполните следующие действиясуществоватьтыиз Kubernetes кластерначальство Установите NVIDIA GPU OPERATOR。
helm repo add nvidia https://nvidia.github.io/gpu-operator
helm repo update
kubectl create namespace gpu-operator
helm install --namespace gpu-operator gpu-operator nvidia/gpu-operator
kubectl get pods -n gpu-operator
ты должен увидеть GPU ОПЕРАТОР и его компонентысуществовать gpu-operator Запуск в пространстве имен.
$ kubectl describe nodes
Name: infracloud01
Roles: control-plane
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
...
nvidia.com/gpu.deploy.container-toolkit=true
nvidia.com/gpu.deploy.dcgm=true
nvidia.com/gpu.deploy.dcgm-exporter=true
nvidia.com/gpu.deploy.device-plugin=true
nvidia.com/gpu.deploy.driver=true
nvidia.com/gpu.deploy.gpu-feature-discovery=true
nvidia.com/gpu.deploy.node-status-exporter=true
nvidia.com/gpu.deploy.operator-validator=true
nvidia.com/gpu.present=true
Annotations: node.alpha.kubernetes.io/ttl: 0
nvidia.com/gpu-driver-upgrade-enabled: true
projectcalico.org/IPv4Address: 192.168.0.52/24
...
Capacity:
cpu: 32
ephemeral-storage: 982345180Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 131600376Ki
pods: 110
Allocatable:
cpu: 32
ephemeral-storage: 905329316390
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 131497976Ki
pods: 110
...
Стрелка указывает, что узел включен. Графический процессор уже подключен к тегу аннотации «Ненастроено».
тысейчассуществовать Можетпроходитьсуществоватькластерсередина Пример развертывания CUDA VectorAdd приложение для проверки ваших настроек. Пример приложения: добавьте два отдельных вектора, существующих вместе, и запросите 1 индивидуальный gpu ресурс. графический процессор Запрос на распределение сделан GPU ОПЕРАТОРСКАЯ обработка.
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
pod/cuda-vectoradd created
$ kubectl logs cuda-vectoradd
[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
Давайте подробно рассмотрим некоторые ключевые технологии GPU OPERATOR.
Параллелизм графического процессорада GPU Используйте возможности параллельной обработки для одновременного выполнения нескольких операций. Эта функция полезна для улучшения AI/ML Рабочие нагрузки, производительность, эффективность и масштабируемость имеют решающее значение. применить Параллельная обработка, графический процессор Может Значительно ускорить обучениеи Скорость рассуждения,управлять более крупными и сложными наборами данных,и предоставлять ответы в режиме реального времени.
vGPU (виртуальный графический процессор), несколько экземпляров GPU(MIG)и GPU Поддерживается разделение времени Параллелизм графического процессор существовать использовать различные механизмы для реализации ключевых технологий в различных сценариях. Ниже представлен краткий обзор каждой технологии.
(vGPU против MIG против квантования времени)
NVIDIA GPUDirect RDMA (удаленный прямой доступ к памяти) и GPUDirect Storage (GDS) Да, цель существования — оптимизировать высокопроизводительные вычисления и передачу данных с помощью передовых технологий. GPUDirect RDMA Разрешено на разных узлах GPU общаться напрямую между CPU и уменьшить задержку. Этот прямой путь данных имеет решающее значение для приложений, которым требуется быстрая связь с малой задержкой, например распределенные AI Обучение и обработка данных в реальном времени. свести к минимуму CPU участие,GPUDirect RDMA Значительно улучшена производительность и эффективность, что приводит к более быстрым и масштабируемым вычислениям. AI рабочая нагрузка.
(GPUDirect RDMA: напрямую подключает графический процессор по сети)
Аналогично, GPUDirect Storage Продвигать GPU Прямая передача данных на устройства хранения и обратно, минуя CPU и системная память. Эта пара устройств хранения (например, NVMe SSD) ускоряет передачу данных и снижает задержку, что критически важно для приложений с интенсивным использованием данных. Упрощая поток данных, GPUDirect Storage убеждаться GPU Большие наборы данных могут быть быстро доступны и обработаны, что позволяет выполнять более быстрые и эффективные вычисления.
(С и без GPUDirect Storage режим доступа к хранилищу)
копия ГДР представлять GPUDirect RDMA копировать,этодаодининдивидуальныйна основе GPUDirect RDMA низкая задержка GPU Память копировать библиотеку。Должен Библиотекаизодининдивидуальный Выделите варианты использованиядасуществовать GPU В ожидании получения данных и сигнала от хоста для начала операций обработки существуют ЦП(хост)и GPU передавать данные между. копия ГДРиспользовать GPUDirect RDMA функция будет GPU Часть памяти доступна внешним устройствам (например, NIC、CPU и т. д.), чтобы выполнить CPU Привод изкопировать операцию. Это делает копия ГДР может выполняться с меньшей задержкой и более высокой пропускной способностью. CPU и GPU изкопировать операции между воспоминаниями, с GPU Операция копирования драйвера из памяти (например cudaMemcpy) для меньших размеров данных.
(сипользовать cudaMemcpy и копировать операцию копирования памяти GDRizhost-устройства)
На изображении выше показано использование копия ГДРи cudaMemcpy из Различия между операциями копирования памяти хост-устройства. cudaMemcpy да GPU работа драйвера, он использует GPU DMA механизм для перемещения данных. Это включает в себя DMA Накладные расходы на движок для меньших размеров данных. копия ГДРпозволять CPU проходить BAR Сопоставление прямого доступа GPU памяти, что обеспечивает передачу данных с низкой задержкой.
NVIDIA GPU OPERATORиспользоватьмногоиндивидуальный Пользовательское определение ресурса (CRD) управлять Kubernetes начальство GPU водители, связанные с компонентами жизненного цикла. Ниже приведены некоторые из основных CRD。
Определение пользовательского ресурса политики кластера (CRD) да NVIDIA GPU ОПЕРАТОРИзCore. он действует как существование Kubernetes кластерначальство Развернуть все необходимоеиз NVIDIA Одноточечная конфигурация программных компонентов. Кластерная политика CRD позволятьуправлятьчленобозначениеиуправлять GPU Сопутствующие компоненты индивидуальный жизненный цикл, включая водителя, проектировать, Плагин инструмент мониторинга устройств.
Пользовательские ресурсы позволяют управлять настройкой важных свойств, таких как:
NvidiaDriver Пользовательское определение ресурса (CRD) Специальное управление NVIDIA водительсуществовать Kubernetes Начальное начало развертывания и жизненный цикл узла. Убедиться Установить и запустить правильную версию производителя, с GPU Аппаратное обеспечение Kubernetes Совместимость с окружающей средой. Хотя конфигурация драйвера также может быть настроена с помощью политики кластера. CR контроль,но водитель CR позволятьдля Каждыйиндивидуальныйузелобозначениеводительтипи Версия。
Ниже приведены некоторые конфигурации, которые вы можете использовать.
существуют В этой статье мы увидели NVIDIA GPU Как OPERATOR да становится существовать Kubernetes кластерсерединаоптимизацияиуправлять GPU Ключевой инструмент для ресурсов, специально разработанный для удовлетворения AI и ML Создан для требовательных рабочих нагрузок. он выполняется автоматически GPU водительиз Обслуживание установки,упрощенныйпередовой GPU функция (например, виртуальная GPU (vGPU), несколько экземпляров GPU (MIG)、GPU Разделение времени, GPUDirect RDMA и хранилище GPUDirect)из Конфигурация,И значительно улучшена производительность и эффективность.
Мы также проверили GPU Ключевые технологии, поддерживаемые ОПЕРАТОРОМ, такие как GPUDirect RDMA и хранилище GPUDirect, которые имеют решающее значение для высокоскоростной передачи данных с малой задержкой. мы также обсуждали GPU Общие технологии, такие как vGPU、MIG и Временной интервал графического процессора и как эти три технологии направлены на совместное использование GPU Получите доступ, повысьте эффективность и сократите затраты, но адаптируйтесь к различным вариантам использования и аппаратной конфигурации.
Короче говоря,NVIDIA GPU OPERATORдлясуществовать Kubernetes средаэффективноуправлять GPU ресурсы имеют решающее значение, поддерживают передовые технологии и упрощают сложные конфигурации для обеспечения AI и ML Рабочие нагрузки обеспечивают превосходную производительность и масштабируемость.
Теперь существуешь, ты уже знаешь NVIDIA GPU ОПЕРАТОР, его возможности и ключевые понятия, которые вы можете предложить AI и GPU Эксперт по облакам чтобы помочь вам построить свой собственный AI облако.
Если вы нашли эту статью полезной и информативной,Пожалуйста, подпишитесь на нашу еженедельную рассылку, чтобы получать больше подобных статей. Нам бы хотелось услышать, что вы думаете об этой статье.,поэтомупожалуйстасуществовать LinkedIn начальствои Sameer и Sanket Начните разговор.