💻
RX9070XT+WSL2+ROCmでPyTorchを使用する
先日、AMDからROCm 6.4.1がリリースされました。[1]
このバージョンからRX9070XTが正式にサポートされることになったので、WSL2の環境でインストールしていきます。筆者の環境は以下のとおりです。
- 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を変更する必要があります。
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に変更する必要があります。
下記の手順でインストールが可能です。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を使用したいという方は、ぜひ試してみて下さい。
-
ROCm6.4.0からRDNA4はWSL2でも動作していました。 ↩︎
Discussion