2013-07-31 2 views
0

Я использую докер для запуска изолированных приложений. Мое приложение будет использовать CUDA-библиотеку для вычислений GPGPU. Я думаю о создании изображения с установленной cuda, но это сделало бы его слишком огромным. Я не уверен, что если установка драйвера дисплея CUDA будет успешно запущена на изображении докеров.share CUDA library with docker container

Лучшим способом было бы разделить библиотеки CUDA на машине с контейнером, есть ли способ сделать это?

спасибо, pradeep.

+0

Вы уверены, что Докер обеспечивает PCI-E пройти через? Без этого не будет возможности для вашего контейнеризованного приложения взаимодействовать с драйвером ядра хоста или графическим процессором. – talonmies

+0

@talonmies: Я тоже не уверен в этом, я тоже новичок в докере. Итак, изучая способы получения CUDA в контейнере – pradeep

ответ

1

Если вы можете установить драйвер в качестве тома на хосте, то вы может быть в состоянии говорить с ним непосредственно из контейнера путем установки его с docker run -v hostdir:containerdir:rw (см run docs)

Если вы не» t у устройства, установленного вне контейнера, то я подозреваю, что разговор непосредственно с вашей графической картой даже через разделяемые библиотеки не будет работать с использованием стандартной конфигурации Docker, поскольку стандартная конфигурация LXC в докере исключает sys_rawio по соображениям безопасности и переносимости.

См. Файл lxc_template.go для списка возможностей, сброшенных по умолчанию.

+0

спасибо Энди. У меня есть устройства, установленные, я просто не знал о монтажной части. – pradeep

+0

Хорошо, я пропустил большинство ошибок до сих пор. Компиляция кода CUDA также отлично работала. Я получил исполняемый файл, но когда я запускаю его, он выплескивает сообщение, в котором указано неправильная версия драйвера NVIDIA. Выведет точное сообщение об ошибке, теперь я пытаюсь сделать что-то другое. – pradeep

+0

docker run -v/usr/bin:/usr/bin: ro -v/usr/lib:/usr/lib: ro -v/dev/dev: ro ubuntu nvidia-smi NVIDIA: не удалось открыть устройство file/dev/nvidiactl: операция не разрешена – pradeep

3

Я хотел бы начать с использованием только

docker run --privileged ubuntu -ti --rm bash 

--privileged большой молоток, но дает вам контейнер, который имеет полную мощность :)