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 アプリケーションを実行できるようにします。

仕組み

このリポジトリには、テンプレートファイルから Dockerfile を生成するセットアップスクリプト(setup.sh)が含まれています。このスクリプトでは、事前ビルド済みパッケージ(repo.radeon.com から)から ROCm をインストールするか、ソースからビルドするかを選択でき、Ubuntu ベースイメージのバージョン、デバッグフラグの設定なども選択できます。スクリプト実行後、各サブディレクトリには特定の ROCm レイヤー用のイメージを構築するための Dockerfile が含まれます。このプロジェクトはまた、Docker Compose を使用して複数のコンテナを調整し、デバイスフラグ(GPU アクセスなど)を記憶します。Docker Hub には、クイックスタート用の rocm/rocm-terminal というすぐに使えるイメージがあります。

対象読者

これは、開発、テスト、またはデプロイのために、Docker コンテナ内で ROCm(AMD の GPU コンピュートスタック)を実行したい開発者やユーザー向けです。Docker と Linux コマンドにある程度精通していることを前提としています。セットアップガイドと asciicast デモは、初心者が始めるのに役立ちます。

ハイライト

  • テンプレートからカスタマイズ可能な Dockerfile を生成するセットアップスクリプトを提供(Ubuntu バージョン、ソースビルド、デバッグフラグなどのオプション付き)。
  • 2 つのインストールパスをサポート:ROCm apt/rpm リポジトリからバイナリを取得(イメージが小さく、ビルドが速い)またはソースからコンパイル(柔軟性は高いが遅い)。
  • Docker Compose を使用してマルチコンテナ設定を管理し、GPU デバイスフラグを記憶。
  • Docker Hub で事前ビルド済みの rocm/rocm-terminal イメージを提供し、クイックスタートを可能に。
  • ターミナルコンテナにパスワードなしの sudo を持つ便利な非 root ユーザー 'rocm-user' を含み、必要に応じてセキュリティを強化する手順も提供。
  • FAQ では、apt メタデータの欠落、Docker 権限エラー、コンテナへの/からのファイルコピー、コンテナをイメージにコミットして作業を保存するなどの一般的な問題に対応。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト