AMD Radeon Instinct MI25

提供: ArchWiki
2024年7月3日 (水) 23:49時点におけるAshMyzk (トーク | 投稿記録)による版 (翻訳)
ナビゲーションに移動 検索に移動

関連記事

このページでは、AMD Radeon Instinct MI25 (及びその他の gfx900 vega10 GPU) で GPGPU を行うために必要な手順を説明します。

BIOS と冷却

MI25 は、コンシューマーレベルのハードウェアとは互換性がないことがしばしばで、デフォルトではビデオ出力がありません。また、このカードは大量に電力を消費し、パッシブクーリング方式を採っています。この問題に対する解決策として、MI25 カードに WX9100 BIOS を書き込む方法があります。これにより、電力制限を 220W から 170W に下げ、PCIe ブラケットの後ろに隠されている Mini DisplayPort が利用可能になり、ファンヘッダをアクティブクーリングに使用できるようになり、MI25 を接続した状態でコンシューマーレベルのハードウェアを起動できるようになります。

MI25 カードを付けた状態で起動でき、かつ冷却しつづけられるならば、状況によっては、amdvbflashAUROS 内から BIOS を書き込めるかもしれません。そうでなくとも、オーバーヒートの危険を冒さずにハードウェアに BIOS を簡単に書き込める方法があります。

WX9100 BIOS は広くテストされており、推奨されます。これはここからダウンロードできます。

Raspberry Pi でハードウェアのフラッシュを行う

MI25 の BIOS チップはバックプレートの下にあり、flashrom、SOP8 テストクリップ、そして Raspberry Pi を使ってフラッシュできます。

ノート: テストクリップによる接続は理想的とは言えません。なので、フラッシュの前後に複数ダンプを取り、結果を比較して確かめたほうが良いでしょう。また、理論上は SPI の速度を 32768 といった速度まで速くできますが、実際には 8192 で成功したとユーザーは報告しています。この値は必要に応じて調整しても構いません。

はじめに、クリップで MI25 BIOS チップをこのダイアグラムに従って Raspberry Pi の GPIO ピンに接続する必要があります。慎重に接続し、次に Raspberry Pi を起動してください。そして、チップが認識されているかどうか、以下のコマンドで確かめてください。

# flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8192

チップが正しく認識されたら、新しい BIOS を書き込む前に、オリジナルの BIOS をバックアップしておきます。これには2つの目的があり、1つはもしものためのバックアップで、もう一つは BIOS フラッシュチップと正しく接続されていることを確かめるためです。

# flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8192 -r mi25-dump1.rom
# flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8192 -r mi25-dump2.rom
$ sha1sum mi25-dump*.rom

2つのダンプのチェックサムが同じであれば、準備は完了です。同じでなかったら、一貫性のあるダンプが得られるまでクリップをつけ直し、チェックサムの確認を行ってください。

MI25 BIOS が 1MiB であるのに対し、WX9100 BIOS が 256KiB であることに気がついたかもしれません。この差を埋めるために、768KiB のゼロで埋められたファイルを作成し、WX9100 BIOS 218718.rom の末尾に付け足します。

$ truncate -s +768KiB pad.bin
$ cat 218718.rom pad.bin > 218718-padded.rom

このようにしてパディングを追加した BIOS を、次は MI25 に書き込みます:

# flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=8192 -w 218718-padded.rom -V

Flashrom はフラッシュが成功したかどうかを検証するはずです。とはいえ、フラッシュ後に BIOS のダンプを取り、218718-padded.rom とチェックサムを比較して、正しくフラッシュされたかどうかを確かめるのも良いでしょう。

冷却

MI25 には 4 ピンの JST-PH ファンヘッダがあり、WX9100 BIOS で動作させることができます。KK254 4 ピン (通常の 4 ピンコンピュータファン) と JST-PH 4 ピン (MI25 ファンヘッダ) を繋ぐ安いアダプタケーブルを買うだけです。探せば、2つの 4 ピンファンを MI25 から電源供給できる安いアダプタを見つけられるはずです ("Graphics Card Fan Adapter Cable" で検索してみてください)。アダプタケーブルを取り付けるにはシュラウドを取り外す必要があります。ケーブルは電源コネクタの横の隙間から逃がすことができます。

ノート: 冷却シュラウドを取ったら、サーマルペーストをつけ直すことをおすすめします。

MI25 はパッシブクーリングなので、ヒートシンクに風が当たるようにエアフローを調整する必要があります。(デバイスにどのファンが付いているかによりますが) こういった冷却シュラウドを 3D プリンターで作るのは良いアイデアですが、それ以外で家でできる方法でも十分でしょう。

ノート: MI25 は、強いエアフローのあるサーバーラックで使用されるように設計されているため、MI25 背面にあるコンポーネントにファンの風を当てるようにしてください。

ROCm

MI25 (及びその他の gfx900 GPU) は非推奨となっており、公式のサポートは終了しました。これらの GPU は公式には ROCm 4 ではサポートされており、ROCm 5 では非公式ですがサポートされています。ROCm 6 ではサポートされていません。なので、gfx900 用の最新の ROCm スタックをインストールするには、まず rocm-hip-sdk バージョン 5.7.1-2 の依存パッケージmiopen-hip バージョン 5.7.1-1 の依存パッケージを確認してください。

この記事またはセクションの正確性には問題があります。
理由: アーカイブから Arch Linux のパッケージをインストールしても、システムの他の部分と互換性がない可能性があります。 (議論: トーク:AMD Radeon Instinct MI25#)
レベル 依存パッケージ
パッケージ rocm-hip-sdk
直接の依存関係 rocm-hip-sdk rocm-core rocm-hip-libraries rocm-llvm rocm-hip-runtime hipblas hipcub hipfft hipsparse hipsolver miopen-hip rccl rocalution rocblas rocfft rocprim rocrand rocsolver rocsparse rocthrust
2次的な依存関係 composable-kernel hip-runtime-amd rocm-clang-ocl rocm-cmake rocm-language-runtime rocminfo
3次的な依存関係 comgr hsa-rocr rocm-smi-lib hsakmt-roct rocm-device-libs rocm-opencl-runtime
任意の依存関係 rocm-ml-libraries rocm-ml-sdk rocm-opencl-sdk

Arch Linux Archive から ROCm 5.7.1 をインストールするために、downgradeAUR スクリプトで必要なパッケージのバージョンを選択して ROCm の環境を構築します。

# downgrade rocm-hip-sdk rocm-core rocm-hip-libraries rocm-llvm rocm-hip-runtime hipblas hipcub hipfft hipsparse hipsolver miopen-hip rccl rocalution rocblas rocfft rocprim rocrand rocsolver rocsparse rocthrust composable-kernel hip-runtime-amd rocm-clang-ocl rocm-cmake rocm-language-runtime rocminfo comgr hsa-rocr rocm-smi-lib hsakmt-roct rocm-device-libs rocm-opencl-runtime rocm-ml-libraries rocm-ml-sdk rocm-opencl-sdk

残りの ROCm パッケージについての詳細は Arch Linux のリポジトリを見てください。

OpenCL

opencl-amdAUR は機能しますが、先ほどインストールした ROCm 5.7.1 スタックとは互換性がありません。

ROCm と共に高性能な機能する OpenCL SDK とランタイムを手に入れる推奨される方法は、ROCm 5.7.1 と上記の表の依存パッケージを全てインストールすることです。

ノート: rocm-opencl-runtime は個別にアップデートでき、OpenCL は ROCm 5 の依存パッケージで動作させることができます。しかし、このパッケージで自動的にインストールされる ROCm 6 の依存パッケージでは動作せず、ROCm をダウングレードする必要があります。

GPGPU でアクセラレートされたソフトウェア

この章では GPGPU でアクセラレートされたソフトウェアを挙げ、それらを gfx900 GPU で動作させる方法を説明します。

AUTOMATIC1111s Stable Diffusion ウェブ UI

Gradio ライブラリで実装されている、Stable Diffusion のウェブインターフェイスです。

stable-diffusion-web-ui-gitAUR は、インストール後の小さな手動設定で使えるようになります。これを動作させる方法は AUR 上の rabcor のコメントを見てください。

BitCrack

Bitcoin の秘密鍵をブルートフォースするツールです。

  • リポジトリをクローンします:
$ git clone https://github.com/brichard19/BitCrack.git
  • cd して、OpenCL サポートありでビルドします:
$ cd BitCrack && make BUILD_OPENCL=1
  • clBitCrack を実行します:
$ ./bin/clBitCrack 1FshYsUh3mqgsG29XpZ23eLjWV8Ur3VwH 15JhYXn6Mx3oF4Y7PcTAv2wVVAuCFFQNiP 19EEC52krRUK1RkUAEZmQdjTyHT7Gp1TYT

Ollama

大規模言語モデルを立ち上げて、実行します。

この記事またはセクションの正確性には問題があります。
理由: Arch のアーカイブから Arch Linux のパッケージをインストールしても、システムの他の部分と互換性がない可能性があります。 (議論: トーク:AMD Radeon Instinct MI25#)

ROCm 5.7 をサポートする最も新しい ollama のバージョンは 0.1.28 です。しかし、Arch Linux Archive にある ollama 0.1.28 は gfx900 のサポート無しでコンパイルされているため、自分でコンパイルする必要があります:

  • ollama をダウングレードします:
# downgrade ollama==0.1.28
  • ollama のリポジトリをクローンします:
$ git clone https://github.com/ollama/ollama.git
$ cd ollama && git checkout 21347e1
  • gfx900 のサポートありでビルドします:
$ AMDGPU_TARGETS=gfx900 go generate ./... && go build .
  • ollama の実行ファイルを先程コンパイルしたバイナリに置き換えます:
# mv ./ollama /usr/bin/ollama
  • ollama.service開始します。
  • 推論を実行します:
$ ollama run tinyllama

PyTorch

Pytorch v2.2.2 は ROCm 5.7 をサポートする最も最近のリリースで、python311AUR 仮想環境内で pip でインストールできます。

(venv)$ pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 --index-url https://download.pytorch.org/whl/rocm5.7

Tensorflow

Tensorflow 2.13.0.570 は ROCm 5.7 と互換性のある最も最近のリリースで、python311AUR 仮想環境内で pip でインストールできます。

(venv)$ pip install tensorflow-rocm==2.13.0.570
ノート: Jupyterlab をインストールする際に、最新の ipython カーネルは tensorflow 2.13.0.570 と依存関係の衝突を起こします。tensorflow と jupyterlab はそのままで ipython 8.23.0 をインストールすれば最新の jupyterlab を使うことができます。
(venv)$ pip install tensorflow-rocm==2.13.0.570 jupyterlab ipython==8.23.0
翻訳ステータス: このページは en:AMD Radeon Instinct MI25 の翻訳バージョンです。最後の翻訳日は 2024-07-02 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。