推荐答案
要在 Docker 容器中使用 GPU,可以按照以下步骤进行配置:
安装 NVIDIA Container Toolkit:
- 首先,确保主机上安装了 NVIDIA 驱动程序。
- 然后,安装 NVIDIA Container Toolkit,它允许 Docker 容器访问 GPU。
-- -------------------- ---- ------- - -- ------ --- ---------------- -------------------- --------------- ---- -- -- --------------------------------------------- - ---- ------- --- - ---- -- -- ----------------------------------------------------------------------- - ---- --- ------------------------------------------ - -------- ------------------------ ---- ------- ------ ---- ------- ------- -- ------------------------ - -- ------ -- ---- --------- ------- ------
运行容器时指定 GPU:
- 使用
--gpus
参数来指定容器可以使用的 GPU 数量或特定 GPU。
# 使用所有可用的 GPU docker run --gpus all nvidia/cuda:11.0-base nvidia-smi # 使用特定数量的 GPU docker run --gpus 2 nvidia/cuda:11.0-base nvidia-smi # 使用特定的 GPU docker run --gpus '"device=0,1"' nvidia/cuda:11.0-base nvidia-smi
- 使用
验证 GPU 是否可用:
- 在容器内运行
nvidia-smi
命令,查看 GPU 是否正常工作。
docker run --gpus all nvidia/cuda:11.0-base nvidia-smi
- 在容器内运行
本题详细解读
1. NVIDIA Container Toolkit 的作用
NVIDIA Container Toolkit 是一个用于 Docker 的工具包,它允许 Docker 容器访问主机上的 NVIDIA GPU。通过安装这个工具包,Docker 容器可以像在主机上一样使用 GPU 进行计算。
2. --gpus
参数的使用
--gpus
参数是 Docker 19.03 及以上版本引入的,用于指定容器可以使用的 GPU 资源。你可以通过以下方式使用这个参数:
all
:使用所有可用的 GPU。2
:使用 2 个 GPU。"device=0,1"
:使用特定的 GPU(例如 GPU 0 和 GPU 1)。
3. 验证 GPU 是否可用
在容器内运行 nvidia-smi
命令可以查看 GPU 的状态。如果 GPU 正常工作,你将看到与主机上运行 nvidia-smi
类似的输出,显示 GPU 的使用情况、温度、内存等信息。
4. 注意事项
- 确保主机上安装了正确版本的 NVIDIA 驱动程序。
- 确保 Docker 版本为 19.03 或更高版本,以支持
--gpus
参数。 - 如果使用的是 Kubernetes 或其他容器编排工具,可能需要额外的配置来支持 GPU。