如何在 Docker 容器中使用 NVIDIA GPU
2023-09-27 14:27:53 时间
Docker 容器不会自动看到您系统的 GPU。这会导致依赖 GPU 的工作负载(例如机器学习框架)的性能降低。以下是将主机的 NVIDIA GPU 公开给容器的方法。
让 GPU 在 Docker 中工作
Docker 容器共享您主机的内核,但带有自己的操作系统和软件包。这意味着它们缺少用于与 GPU 交互的 NVIDIA 驱动程序。默认情况下,Docker 甚至不会向容器添加 GPU,因此普通人docker run根本看不到您的硬件。
概括地说,让 GPU 工作是一个两步过程:在映像中安装驱动程序,然后指示 Docker 在运行时将 GPU 设备添加到容器中。
本指南侧重于 CUDA 和 Docker 的现代版本。最新版本的 NVIDIA Container Toolkit 专为 CUDA 10 和 Docker Engine 19.03 及更高版本的组合而设计。CUDA、Docker 和 NVIDIA 驱动程序的旧版本可能需要额外的步骤。
添加 NVIDIA 驱动程序
在继续进行 Docker 配置之前,请确保您的主机上的 NVIDIA 驱动程序正常工作。您应该能够成功运行nvidia-smi并看到您的 GPU 名称、驱动程序版本和 CUDA 版本。
相关文章
- docker logs命令查看容器日志的时候,如何将标准输出和错误输出进行区分查看?
- 如何查看一个docker容器占用空间的大小?
- Docker 镜像、容器、仓库
- 如何在 Docker 容器中运行支持 OData 的 JBoss 数据虚拟化 GA
- 如何在Docker容器中运行GUI程序
- 如何在 Fedora 22 上面配置 Apache 的 Docker 容器
- [转]Docker--查看容器的启动参数(命令)--方法/实例
- docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint quirky_allen
- docker中ifconfig不可用
- docker如何构建多架构(arm64, x86_64, armv7)容器镜像?
- linux下docker如何指定容器的工作目录?
- 利用 ELK 搭建 Docker 容器化应用日志中心
- Docker环境搭建与使用:docker容器的基本使用方法
- 在docker容器中安装软件,并重新生成镜像
- 【Docker】多个容器和宿主机之间如何进行数据同步和数据共享?容器数据卷从介绍到常用操作图文教程
- 教你如何修改运行中的docker容器的端口映射
- 浅析Unix domain socket是什么、Java如何使用UnixSocket调用Docker API对容器进行操作(jnr-unixsocket的使用)
- docker 的centos容器搭建javaweb环境时mysql部分遇到的问题
- (原)ubuntu14及ubuntu16中安装docker