docker-compose - Docker Swarm 不支持使用 GPU 设备
问题描述
我正在尝试将 GPU 工作负载部署到我的 swarm 集群中。
我的服务清单如下所示。
nvidia:
image: "tensorflow/tensorflow:devel-gpu"
volumes:
- type: bind
source: ./ubuntu_gpu
target: /app
consistency: cached
build:
context: ./ubuntu_gpu
ports:
- 6186:80
working_dir: "/app"
runtime: nvidia
environment:
- LD_LIBRARY_PATH=/usr/local/cuda-11.3/targets/x86_64-linux/lib
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
上述方法取自 docker 官方关于 GPU 支持的文档 https://docs.docker.com/compose/gpu-support/
当我部署堆栈时,我在下面收到此错误。
Additional property devices is not allowed
似乎 docker swarm 无法看到连接到工作节点的 GPU 设备。
有谁知道此功能是否仅适用于 docker-compose 而不适用于 docker-swarm 或者是否有解决方法?
解决方案
在撰写本文时,docker swarmkit 似乎不支持devices
,在 docker github 上看到这个问题,围绕它进行了相当长时间的讨论。
推荐阅读
- java - 使用 if 语句来确定一个数字是否大于一个然后将输出定向到一个单独的方法?
- c# - 如何在 Caliburn Micro 中处理“找不到视图模型的视图”?
- javascript - 克隆元素并追加到结尾
- python - 将用户输入添加到基本转换器类
- opencv - ORB 特征匹配和“退化”汉明距离
- swift - How to get the expected value of #function or #line?
- libgdx - 如何在 LIBGDX 中缩小精灵
- apache-nifi - How to convert CSV to JSON using Apache Nifi?
- python - what is workers parameter in word2vec in NLP
- r - R Studio 只会绘制箱线图