xuhuisheng / rocm-build

build scripts for ROCm
Apache License 2.0
181 stars 35 forks source link

rocm-build/navi10 for Stable Diffusion (for example: AUTOMATIC1111/stable-diffusion-webui) #36

Open EvgeniiLavrinov opened 2 years ago

EvgeniiLavrinov commented 2 years ago

Hello! I don't know much about coding and compilations. I don’t understand if it’s possible to use your instructions to make the rx5700 (navi10) card work in Stable Diffusion. Can you help me figure it out? Or maybe there is an opportunity to make a patch that will add support for rx5700 card in the AUTOMATIC1111 build?

xuhuisheng commented 2 years ago

I am afraid there is no guarantee for navi10 run properly on ROCm, as AMD didn't test navi10 in there development environment totally.

My patch is just let ROCm can run mnist with tensoflow/pytorch on navi10. But there is more easier way to do that, we can use an environment variable export HSA_OVERRIDE_GFX_VERSION=10.3.0 to pretend navi10 is a navi21 card, to let tensoflow-rocm/pytorch run on it. It is surprised mnist run sucessfully.

Emm~, rebuild may be more stable, but HSA_OVERRIDE way is more easier.

I'm not familar with stable diffussion, if it can run with tensorflow or pytorch, you can try HSA_OVERRIDE way.

Or, could you provide some instructions for using stable diffusion, that I can have a try when I have time. Now I am a little busy to test gfx803 on blender.

EvgeniiLavrinov commented 2 years ago

I can only say that I acted according to the instructions from this page. I used "running inside docker" section. (I'm on Ubuntu 20.04)

Running with "--no-half" alias enables Stable Diffusing without using GPU, CPU only mode (which means very slow generation)

xuhuisheng commented 2 years ago

Unfortunately, I test navi10 - RX5700xt hanging on ROCm-5.3.

So I guess navi10 may not support stable-diffusion.

cloudyangel commented 1 year ago

Unfortunately, I test navi10 - RX5700xt hanging on ROCm-5.3.

So I guess navi10 may not support stable-diffusion.

with export HSA_OVERRIDE_GFX_VERSION=10.3.0 and other 2 parameters described in the repo 'SD' , the SD could run under GPU mode and its speed is much faster than the one under Windows.

xuhuisheng commented 1 year ago

Interesting, Cgmb said the ISA of RDNA1 is different with RDNA2, so RX5700xt cannot use 10.3.0 directly.

Unfortunately, I test navi10 - RX5700xt hanging on ROCm-5.3. So I guess navi10 may not support stable-diffusion.

with export HSA_OVERRIDE_GFX_VERSION=10.3.0 and other 2 parameters described in the repo 'SD' , the SD could run under GPU mode and its speed is much faster than the one under Windows.