问题标签 [nvidia-docker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 使用 cuda 运行时构建 docker 映像
我正在构建一个同时需要测试 GPU 可用性的图像。GPU 容器运行良好:
但在使用 GPU 构建时失败:
我是 docker 新手,但我认为我们在构建映像时需要进行健全性检查。那么如何使用 cuda 运行时构建 docker 映像呢?
nvidia - Nvidia vGPU 软件是否支持 Docker 容器?
您好 Stackoverflow 专家!
我在私有集群上有 Telsa K40m,我的目标是检查通过将 GPU 划分为多个 vGPU,然后与 Docker 容器同时运行它们可以获得多少性能。
我担心的是我不确定 vGPU 是支持 Docker 容器还是仅限于虚拟机。有人可以帮我回答这个问题吗?
谢谢!
linux - 重新启动现有 docker 容器时如何指向初始运行时
我想在退出并重新启动后重新启动一个 docker 容器,并使用最初创建它的相同运行时。
这是我到目前为止所做的。
创建容器:
退出容器并重启后重启 Docker:
重启之前创建的容器:
重新打开容器。
然后在容器中启动的程序没有按预期使用 Nvidia GPU。它改为使用系统 CPU。
任何帮助将不胜感激。
tensorflow - Tensorflow 需要很长时间才能连接到 Nvidia-Drivers
我已经在我的远程服务器上安装了我的 Nvidia 驱动程序,并且
$nvidia-smi
还返回设备列表
但是当我尝试使用时。
提供设备列表需要很长时间
当我尝试检查信息以使用 nvidia-docker
它给出以下输出:
docker - 在 compose 文件中配置了 GPU 的 Docker 服务;Keras 无法识别 GPU
我在 v3.5 docker compose 文件中配置了一个多服务应用程序。
其中一项服务是访问集群中(一个)节点上的(一个)GPU。但是,如果我使用 docker compose 文件启动服务,我似乎无法访问 GPU,正如 keras 报告的那样:
印刷
如果我像这样从命令行运行相同的图像:
docker run -it --rm $(ls /dev/nvidia* | xargs -I{} echo '--device={}') $(ls /usr/lib/*-linux-gnu/{libcuda,libnvidia}* | xargs -I{} echo '-v {}:{}:ro') -v $(pwd):/srv --entrypoint /bin/bash ${MY_IMG}
输出是
配置:
我已经安装了 nvidia-docker 并根据本指南配置了节点:
和
docker compose 文件的相关部分:
问题: 还需要什么才能访问该 docker 服务中的 GPU?
docker - nvidia-docker:未知的运行时指定 nvidia
runtime: nvidia
尝试使用具有标志的容器启动 docker-compose 项目时出现此错误。
按照最新的说明,我为 Ubuntu 的存储库安装了 docker(版本 19.03)和最新的 nvidia-docker 。我没有在任何地方注册运行时,因为文档明确指出现在没有必要。
运行单个容器可以工作,例如,docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
这工作得很好 - 但是当我尝试启动 docker-compose 项目时,它失败并出现以下错误
错误:对于 MY_SERVICE 无法为服务 MY_SERVICE 创建容器:指定了未知的运行时 nvidia
我不知道这是否与此有关,但我在 GCP Compute Engine、Ubuntu 18.04 上运行
docker - Docker run vs build - build gstreamer 不同的行为
我正在尝试在 gstreamer 中构建一个使用 nvidia 硬件解码的 docker 映像,并且在制作映像时遇到了一个奇怪的问题。
docker build
构建过程在运行(或)时找不到与 nvidia cuda 相关的东西nvidia-docker build
,但是当我将失败的图像作为容器启动并从容器内执行相同的步骤时,一切正常。我什至将容器保存为图像,这给了我一个按预期工作的持久图像。
有没有人遇到过类似的问题,可以解释一下吗?
测试: 构建并运行容器。容器内部:
EDIT1
图像构建没有错误,只有当我尝试调用 gstreamer 时,它才会在没有加速的情况下构建。我注意到在构建过程中的主要区别是
从容器内构建时不会发生这种情况。
缺少错误很可能与 ninja+meson 构建系统有关,该构建系统查找兼容的包,报告异常,但不抛出异常并继续,就好像没有发生任何错误一样
EDIT2
回答评论:要构建它并得到错误,只需构建附加的 docker 图像:
sudo docker build -t gst16:latest . > build.log
这会将所有输出转储到build.log
文件中。
我没有可以用于此目的的 docker 注册表,并且 docker 镜像按照 docker 标准(约 8 Gigs)变得相当大,但要成功生成,它相当简单:
sudo docker run --runtime="nvidia" -ti gst16:latest /bin/bash
或者
sudo nvidia-docker run -ti gst16:latest /bin/bash
这对我来说似乎同样有效。注意没有 --rm标志!从容器内:
现在要获取图像,退出容器(ctrl+d)并在主机 shell 中:
sudo docker container ls -a
查看所有容器,包括停止的容器- 从 gst16:latest 获取 CONTAINER_ID 并复制它
sudo docker commit <CONTAINER_ID> gst16:manual
几秒钟后,您应该将容器保存为图像。验证sudo docker images
- 运行新图像
sudo docker run --runtime=`nvidia` --rm -ti gst16:manual /bin/bash
- 从容器内再次尝试
gst-inspect-1.0 nvdec
验证它是否正常工作
编辑3
docker - windows 10系统安装nvidia-docker的问题
我刚开始学习 docker,所以这个问题对你们中的一些人来说可能是微不足道的。我在我的 Windows 10 Enterprise(64 位)中安装了最新版本的 docker 19.03.2 并打开了 Linux 容器。我的指南建议我将 docker 用于我的深度学习项目(基于 PyTorch 框架)。我读了几篇关于为什么使用 docker 让生活变得轻松的文章,我可以遵循其中的大部分内容。对我来说,使用 docker 的主要原因是由于 GPU 资源不可用。所以我在我的windows系统中成功安装了docker 19.03.2。但是为了使用 NVIDIA 的 GPU 支持,我必须安装 nvidia-docker。
这是我感到困惑的时候。很少有地方解释 Linux 环境的安装过程,但我找不到任何适用于 Windows 系统的地方。也很少有人说将来将不再支持 nvidia-docker2 软件包。所以我在这一点上很困惑。
我的一些朋友建议我使用 google colab 而不是 docker。我同意他们的观点,这非常有用,但如果我仍然只想使用 docker 怎么办。我相信必须有一些解决方案。
任何帮助和建议将不胜感激。
docker - 无法检测从 Pycharm 启动的 tensorflow docker 容器上的 GPU
我正在尝试从 Pycharm IDE 中使用 tensorflow 提供的支持 gpu 的 docker 映像运行一个简单的 tensorflow 示例。一切正常,除了当我运行它时,tensorflow 不会从容器中检测到 GPU 并默认返回CPU
:
运行:Ubuntu 18.04.3 Docker 19.03.3 最新版本的 NVIDIA docker 支持:https ://github.com/NVIDIA/nvidia-docker
我已经使用远程解释器功能设置了我的 Pycharm 项目来运行图像:tensorflow:latest-gpu
如果我从命令行运行容器:
我明白了:
..它告诉我 docker install、image 和 nvidia docker 支持都可以。
现在,当 Pycharm 运行容器时,它不包含“--gpus all”命令行选项。
如果我在没有 --gpus all 参数的情况下运行上面的相同命令:
我得到:
所以这表明 Pycharm 没有添加标志作为罪魁祸首。
但是,根据以下文档:https : //docs.docker.com/config/containers/resource_constraints/(GPU 的底部),环境变量 NVIDIA_VISIBLE_DEVICES=all 应该完成同样的事情。我确认即使没有 --gpus all 参数,这个环境变量也会被设置。
此外,似乎没有办法从 Pycharm 中添加额外的命令行参数。所以我被困住了。我觉得这个设置不是太奇特,希望我缺少一些基本的东西。
python - 在 Nvidia-Docker 中运行 CUFFT 例程
我是 Docker 新手,尤其是 Nvidia-Docker。我正在尝试将我的代码包装到 docker 容器中并在某些主机上运行它。但显然出了点问题,我无法在 docker 中运行我的代码。我已经安装了 Nvidia-docker 并且 Dockerfile 是从这里获取的。这是我的完整码头代码
还有一个 bash 脚本代码,其中 cudahelmf 和 cudahelmd 以前由
要构建和运行 docker 我使用
运行后我有错误
我究竟做错了什么?是否因为 -lcufft 编译选项而发生,并且 docker 不知道从哪里获得它?并且 docker 安装后没有 /usr/local/cuda/ 目录。由于 cuda-libraries-dev 包含 cufft 库并且安装成功结束,这似乎很奇怪。
这是我计算机上的 nvcc 版本,其中代码已编译和先前测试过。
和 nvidia-docker 版本
PS也许有一个选项可以在docker中编译代码?