ROCm/ROCm-docker

Dockerfiles for the various software layers defined in the ROCm software platform

它解决的问题

Docker 容器不包含 Linux 内核;它们共享主机的内核。ROCm 计算栈需要在主机上安装一个特殊的内核驱动程序(ROCK-Kernel-Driver)。ROCm-docker 提供了一种方法,将所有其他 ROCm 软件层打包到 Docker 镜像中,这样你就可以在容器中运行 ROCm 应用程序,而无需每次手动组装所有组件。

工作原理

此仓库包含一个设置脚本(setup.sh),它从模板文件生成 Dockerfile。该脚本允许你选择是从预构建包(来自 repo.radeon.com)安装 ROCm,还是从源码构建,还可以选择 Ubuntu 基础镜像版本、设置调试标志等。脚本运行后,每个子目录都包含一个 Dockerfile,可用于为特定的 ROCm 层构建镜像。该项目还使用 Docker Compose 来协调多个容器并记住设备标志(如 GPU 访问)。在 Docker Hub 上有一个名为 rocm/rocm-terminal 的现成镜像,可快速启动。

适用人群

这适用于希望在 Docker 容器内运行 ROCm(AMD 的 GPU 计算栈)的开发者和用户,无论是用于开发、测试还是部署。它假定用户对 Docker 和 Linux 命令有一定了解。设置指南和 asciicast 演示可帮助新手入门。

亮点

  • 提供一个设置脚本,从模板生成可定制的 Dockerfile,并带有 Ubuntu 版本、源码构建、调试标志等选项。
  • 支持两种安装路径:从 ROCm apt/rpm 仓库拉取二进制文件(镜像更小,构建更快)或从源码编译(更灵活,但更慢)。
  • 使用 Docker Compose 管理多容器设置并记住 GPU 设备标志。
  • 在 Docker Hub 上提供预构建的 rocm/rocm-terminal 镜像,便于快速启动。
  • 在终端容器中包含一个方便的非 root 用户 'rocm-user',具有无密码 sudo 权限,并附有需要时加强安全性的说明。
  • 常见问题解答涵盖了常见问题,如缺少 apt 元数据、Docker 权限错误、将文件复制进出容器,以及通过将容器提交回镜像来保留工作。

相关

  • 项目
  • 项目
  • 项目
  • 项目