Navi10(RX 5700 XT)上带有Pytorch的AMD ROCm和HSA_OVERRIDE_GFX_VERSION=10.3.0失败

edqdpe6u  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(238)

我看到AMD ROCm with Pytorch on Navi10 (RX 5700 / RX 5700 XT)推荐使用HSA_OVERRIDE_GFX_VERSION=10.3.0在5700XT卡上使用ROCm运行Pytorch,但我无法让它工作。
我的步骤:

  1. $ sudo pacman -S python-pytorch-opt-rocm
  2. $ git clone https://github.com/pytorch/examples.git
  3. $ cd examples/mnist
  4. $ HSA_OVERRIDE_GFX_VERSION=10.3.0 python3 main.py

结果:当我试图训练mnist时,得到了这个output。GPU只是热运行,没有显示训练进度。
rocminfo output
注意:也尝试了python-pytorch-rocm包,但python-pytorch-opt-rocm应该没问题,因为lscpu显示了avx2支持。
所以问题是:有人知道Navi10 GPU的解决方案是否仍然有效吗?或者我错过了什么来正确设置它?

zxlwwiss

zxlwwiss1#

在我回答你的问题之前,我需要声明Navi 10官方不支持ROCm,我认为它永远不会支持。因此,你所做的是覆盖设置,使您的系统“行为”,就像你有一个6900 XT,你没有。
这意味着现在和将来都会有大量的bug。我,到目前为止遇到了很多,如loss.backward()不工作,to('cuda')永远卡住等.我想你也遇到了类似的问题。
我的第一个建议是使用pytorch-rocm以前的版本。因为许多新的库甚至直接崩溃与HIP错误。我个人认为最稳定的-> torch==1.12.1+rocm5.1.1。那么就这样做:

  1. pip uninstall torch

  1. pip install torch==1.12.1+rocm5.1.1 torchvision==0.13.1+rocm5.1.1 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/rocm5.1.1

你不需要担心ROCm版本,因为它是向后兼容的。
我的第二个建议是在代码执行期间使用断点,并发现哪个PyTorch方法导致了兼容性问题,并报告它,以便其他人也可以受益。
希望这对你有帮助,祝你好运;)

相关问题