Развертывание Kubernetes с GPU - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь развернуть приложение ML на движке Kubernetes с графическим процессором. Я создал образ докера с помощью nvidia / cuda: 9.0-runtime и построил свое приложение поверх него. При развертывании образа в Kubernetes Engine я получаю сообщение об ошибке, в котором говорится, что он не может импортировать libcuda.so.1.

ImportError: libcuda.so.1: cannot open shared object file: No such file or directory

Я посмотрел несколько опубликованных решений, но ни одно из них, похоже, не работает.

Пробуя эти решения, я также обнаружил, что

пути, упомянутые

echo $LD_LIBRARY_PATH

, что дает

/usr/local/nvidia/lib:/usr/local/nvidia/lib64

похоже, не существует.

Кроме того, в файловой системе нет файла с именем libcuda.so.1 (или любым другим числом). И / usr / lib / cuda / lib64 содержит общие библиотеки. Реализую ли я сейчас что-то не так здесь

Ответы [ 3 ]

0 голосов
/ 11 апреля 2019

Отсутствующая проблема библиотеки libcuda.so в Kubernetes чаще всего связана с использованием неверного образа контейнера для запуска рабочих нагрузок графического процессора.Учитывая, что вы уже используете образ докера CUDA, попробуйте изменить версию CUDA на версию, совместимую с вашей рабочей нагрузкой .Я столкнулся с проблемами с рабочей нагрузкой, требующей 10.0, выбрасывая библиотеку, не найденную с базовым образом CUDA9.0.

Большинство облачных провайдеров используют containerd / Docker для запуска своих рабочих нагрузок на ЦП и nvidia-docker для обеспечения поддержки графического процессора. nvidia-docker - это тонкий слой, который работает поверх драйверов NVIDIA и не зависит от CUDA.Все файлы и ресурсы библиотеки CUDA содержатся исключительно в вашем контейнере.

Надеюсь, это поможет!

0 голосов
/ 06 июня 2019

Вы столкнулись с этой проблемой, поскольку вы не установили драйверы CUDA в кластере.Пожалуйста, следуйте разделу установки драйверов в этой ссылке .Для проверки установки вы можете запустить эту команду и проверить.

kubectl logs -n kube-system ds/nvidia-driver-installer -c nvidia-driver-installer 
0 голосов
/ 11 апреля 2019

Я предполагаю, что вы ознакомились с документацией о графических процессорах на веб-сайте Google Cloud. Они описывают весь процесс создания нового кластера с графическими процессорами, установки драйверов и настройки модулей.

Похоже, вы неправильно установили библиотеку или она как-то сломалась.

Что касается вашего изображения, вы должны использовать один из здесь .

О библиотеках CUDA

CUDA® - это платформа параллельных вычислений NVIDIA и модель программирования для графических процессоров. Драйверы устройств NVIDIA, которые вы устанавливаете в своем кластере, включают в себя библиотеки CUDA .

Библиотеки CUDA и утилиты отладки доступны внутри контейнера в /usr/local/nvidia/lib64 и /usr/local/nvidia/bin соответственно.

Приложения CUDA, работающие в модулях, использующих графические процессоры NVIDIA, должны динамически обнаруживать библиотеки CUDA. Для этого необходимо включить /usr/local/nvidia/lib64 в переменную окружения LD_LIBRARY_PATH.

Вам следует использовать Базовые образы CUDA Docker на основе Ubuntu для приложений CUDA в GKE, где LD_LIBRARY_PATH уже установлено соответствующим образом. Последняя поддерживаемая версия CUDA: 9.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...