deep-learningpytorchgpuamd-gpuamd-rocm

AMD ROCm with Pytorch on Navi10 (RX 5700 / RX 5700 XT)


I am one of those miserable creatures who own a AMD GPU (RX 5700, Navi10). I want to use up-to-date PyTorch libraries to do some Deep Learning on my local machine and stop using cloud instances.

I saw all over the internet that AMD is promising Navi10 support in the next 2-4 months(posts that were written 1-2 years back) however, I do not think they released an "official" support.

I installed ROCm on local machine and it actually detects my GPU and everything seems nice, here is rocminfo output.

rocminfo output

I installed the necessary PyTorch ROCm version but when I try to run a code, I get the following error.

hipErrorNoBinaryForGpu: Unable to find code object for all current devices!

I suppose this is because ROCm still does not have a support for gfx1010 or I am lost at this point.

I would be happy if someone can provide a way to make ROCm work (preferable without compiling whole package for gfx1010 again) or provide way to use an AMD GPU just like a CUDA user.


Solution

  • Set the HSA_OVERRIDE_GFX_VERSION=10.3.0 environment variable.

    For example, in the terminal, input:

    $ HSA_OVERRIDE_GFX_VERSION=10.3.0 python launch.py
    

    I used 5700xt to run stable-diffusion for months, it works.