стек докера развернут с помощью графического процессора, но не может найти устройства nvidia
описание:
Когда я запускаю программу docker-compose up
, код работает хорошо!Но когда я использую docker stack deploy -c docker-compose.yml test
для запуска программы, она не может найти видимые устройства nvidia.Мой docker-compose.yml и журналы ошибок показаны ниже.
Я очень озадачен тем, почему у меня одинаковые конфигурации, использующие различные способы соединения, docker-compose up
и docker stack deploy -c docker-compose.yml test
, первый работает хорошо, а второй нет.В настоящее время он не идеален для поддержки Docker Swarm для графических процессоров или есть другие способы, которые я не нашел?
конфигурация среды
docker version: 18.06.0-ce
NVIDIA Docker: 1.0.1
Ubuntu: 16:04
/ etc / docker / daemon.json
Конечно, я изменяю файл /etc/docker/daemon.json, меняю тип времени выполнения.И перезапустите его.
{
"default-runtime": "nvidia",
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
sudo systemctl daemon-reload
sudo systemctl start docker
docker-compose.yml файл конфигурации
version: "3"
volumes:
nvidia_driver_430.14:
external: true
services:
tts-server:
build:
context: ./
dockerfile: ./docker/tts_server/Dockerfile
deploy:
replicas: 1
image: tts-system/tts-server-gpu
environment:
NVIDIA_VISIBLE_DEVICES: 0
devices:
- /dev/nvidia0
- /dev/nvidiactl
- /dev/nvidia-uvm
volumes:
- ./models:/tts_system/models:ro
- ./config:/tts_system/config:ro
- nvidia_driver_430.14:/usr/local/nvidia:ro
networks:
- overlay
ports:
- "9091:9090"
журналы ошибок программы
2019-07-02 07:50:24.805114: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2499885000 Hz
2019-07-02 07:50:24.808418: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x4112870 executing computations on platform Host. Devices:
2019-07-02 07:50:24.808457: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): <undefined>, <undefined>
2019-07-02 07:50:24.811640: E tensorflow/stream_executor/cuda/cuda_driver.cc:300] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2019-07-02 07:50:24.811684: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:155] no NVIDIA GPU device is present: /dev/nvidia0 does not exist
E0702 07:50:24.811846 1 decoder.cc:80] Filed to create session: Invalid argument: 'visible_device_list' listed an invalid GPU id '0' but visible device count is -1
Эта проблема беспокоитя в течение долгого времени, большое спасибо.