💻

RX9070XT+WSL2+ROCmでPyTorchを使用する

に公開

先日、AMDからROCm 6.4.1がリリースされました。
https://rocm.docs.amd.com/en/latest/about/release-notes.html
このバージョンからRX9070XTが正式にサポートされることになったので、WSL2の環境でインストールしていきます。[1]

筆者の環境は以下のとおりです。

  • GPU : AMD Radeon RX9070XT
  • OS : Windows 11/Ubuntu 24.04.1 LTS(WSL2)

Python 仮想環境の構築

ROCmのinstallにはpipを使用します。
pipを使ってインストールする際には、venvで仮想環境を構築する必要があります。
下記のコマンドで、仮想環境を作成して下さい。

python3 -m venv rocm_test
. rocm_test/bin/activate

ROCm 6.4.1 のインストール

基本的には、下記のインストール手順に従えば問題ないのですが、記載されているバージョンが6.3.4(2025/05/24現在)と古いものとなります。そのため、6.4.1用にダウンロードURLを変更する必要があります。
https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-radeon.html

sudo apt update
wget https://repo.radeon.com/amdgpu-install/6.4.1/ubuntu/noble/amdgpu-install_6.4.60401-1_all.deb
sudo apt install ./amdgpu-install_6.4.60401-1_all.deb

ダウンロード後は、手順に従ってinstallを実施します。

amdgpu-install -y --usecase=wsl,rocm --no-dkms

rocminfoを実行し、正常にRX9070XTが認識されていれば成功です。

rocminfo
*******
Agent 2
*******
  Name:                    gfx1201
  Marketing Name:          AMD Radeon RX 9070 XT
  Vendor Name:             AMD

PyTorch のインストール

ROCmにはROCmに対応したPyTorchが用意されています。インストール手順はROCmのインストールと同じくROCm6.3.4用となっているので、6.4.1に対応したURLに変更する必要があります。
https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/install-pytorch.html
下記の手順でインストールが可能です。

wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/torch-2.6.0%2Brocm6.4.1.git1ded221d-cp312-cp312-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/torchvision-0.21.0%2Brocm6.4.1.git4040d51f-cp312-cp312-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/pytorch_triton_rocm-3.2.0%2Brocm6.4.1.git6da9e660-cp312-cp312-linux_x86_64.whl
wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/torchaudio-2.6.0%2Brocm6.4.1.gitd8831425-cp312-cp312-linux_x86_64.whl
pip3 install pytorch_triton_rocm-3.2.0+rocm6.4.1.git6da9e660-cp312-cp312-linux_x86_64.whl torchaudio-2.6.0+rocm6.4.1.gitd8831425-cp312-cp312-linux_x86_64.whl torch-2.6.0+rocm6.4.1.git1ded221d-cp312-cp312-linux_x86_64.whl torchvision-0.21.0+rocm6.4.1.git4040d51f-cp312-cp312-linux_x86_64.whl

WSL 互換のランタイム ライブラリに下記で更新します。

location=$(pip show torch | grep Location | awk -F ": " '{print $2}')
cd ${location}/torch/lib/
rm libhsa-runtime64.so*

下記のコマンドでPyTorchがインストールされているかを確認します。
正常に動作していればSuccessが出力されます。

python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure'
Success

GPUが使用可能かを確認します。
正常に動作していればTrueが出力されます。

python3 -c 'import torch; print(torch.cuda.is_available())'
True

まとめ

筆者の環境では、RX9070XTを用いてLLMのファインチューニングが正常にできることを確認済みです。
RX9070XTでPyTorchを使用したいという方は、ぜひ試してみて下さい。

脚注
  1. ROCm6.4.0からRDNA4はWSL2でも動作していました。 ↩︎

Discussion