stable-diffusion-webui-amdgpu-forge icon indicating copy to clipboard operation
stable-diffusion-webui-amdgpu-forge copied to clipboard

No CUDA GPUs are available

Open MindCaged opened this issue 1 year ago • 7 comments

Trying to run this on a mini-pc with an AMD APU 5700U and I'm getting this error when I try to launch. I can run the A1111 port from you just fine with the --use-directml option, but not forge. Are APUs not supported in this version? Or is there a command line argument I need to add?

Traceback (most recent call last):
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 54, in <module>
    main()
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 50, in main
    start()
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\modules\launch_utils.py", line 682, in start
    import webui
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\webui.py", line 21, in <module>
    initialize_forge()
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\modules_forge\initialization.py", line 58, in initialize_forge
    from backend import memory_management
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 133, in <module>
    total_vram = get_total_memory(get_torch_device()) / (1024 * 1024)
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 100, in get_torch_device
    return torch.device(torch.cuda.current_device())
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\venv\lib\site-packages\torch\cuda\__init__.py", line 778, in current_device
    _lazy_init()
  File "c:\Programs\stable-diffusion-webui-amdgpu-forge\venv\lib\site-packages\torch\cuda\__init__.py", line 293, in _lazy_init
    torch._C._cuda_init()
RuntimeError: No CUDA GPUs are available

I've now tried --use-directml, --use-cpu-torch, and --use-zluda each with their own venv folder and it gives me errors about CUDA or NVIDIA with all of them. I'm guessing I just can't use the torch version on an AMD APU?

MindCaged avatar Nov 06 '24 11:11 MindCaged

Full log needed. With ZLUDA, CUDA means ZLUDA, and NVIDIA means AMD. ZLUDA is a fake CUDA.

lshqqytiger avatar Nov 06 '24 12:11 lshqqytiger

Well the output to the console for directml is:


> venv ".\venv_directml\Scripts\Python.exe"
> fatal: No names found, cannot describe anything.
> Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
> Version: f2.0.1v1.10.1-1.10.1
> Commit hash: e682420fe36efa58af065da9f30a442ce896416c
> ROCm: no agent was found
> ROCm: version=6.1
> ZLUDA support: experimental
> Using ZLUDA in C:\Programs\stable-diffusion-webui-amdgpu-forge\.zluda
> Launching Web UI with arguments: --use-directml
> Traceback (most recent call last):
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 54, in <module>
>     main()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 50, in main
>     start()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules\launch_utils.py", line 682, in start
>     import webui
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\webui.py", line 21, in <module>
>     initialize_forge()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules_forge\initialization.py", line 58, in initialize_forge
>     from backend import memory_management
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 133, in <module>
>     total_vram = get_total_memory(get_torch_device()) / (1024 * 1024)
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 100, in get_torch_device
>     return torch.device(torch.cuda.current_device())
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_directml\lib\site-packages\torch\cuda\__init__.py", line 778, in current_device
>     _lazy_init()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_directml\lib\site-packages\torch\cuda\__init__.py", line 293, in _lazy_init
>     torch._C._cuda_init()
> RuntimeError: No CUDA GPUs are available
> Press any key to continue . . .

For ZLUDA it's:


> venv ".\venv_zluda\Scripts\Python.exe"
> WARNING: ZLUDA works best with SD.Next. Please consider migrating to SD.Next.
> fatal: No names found, cannot describe anything.
> Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
> Version: f2.0.1v1.10.1-1.10.1
> Commit hash: e682420fe36efa58af065da9f30a442ce896416c
> ROCm: no agent was found
> ROCm: version=6.1
> ZLUDA support: experimental
> Using ZLUDA in C:\Programs\stable-diffusion-webui-amdgpu-forge\.zluda
> Installing requirements
> Launching Web UI with arguments: --use-zluda
> Traceback (most recent call last):
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 54, in <module>
>     main()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 50, in main
>     start()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules\launch_utils.py", line 682, in start
>     import webui
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\webui.py", line 21, in <module>
>     initialize_forge()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules_forge\initialization.py", line 58, in initialize_forge
>     from backend import memory_management
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 133, in <module>
>     total_vram = get_total_memory(get_torch_device()) / (1024 * 1024)
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 100, in get_torch_device
>     return torch.device(torch.cuda.current_device())
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_zluda\lib\site-packages\torch\cuda\__init__.py", line 778, in current_device
>     _lazy_init()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_zluda\lib\site-packages\torch\cuda\__init__.py", line 293, in _lazy_init
>     torch._C._cuda_init()
> RuntimeError: No CUDA GPUs are available
> Press any key to continue . . .

And for cpu-torch it's:


> venv ".\venv_cpu\Scripts\Python.exe"
> fatal: No names found, cannot describe anything.
> Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
> Version: f2.0.1v1.10.1-1.10.1
> Commit hash: e682420fe36efa58af065da9f30a442ce896416c
> Launching Web UI with arguments: --use-cpu-torch
> Traceback (most recent call last):
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 54, in <module>
>     main()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\launch.py", line 50, in main
>     start()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules\launch_utils.py", line 682, in start
>     import webui
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\webui.py", line 21, in <module>
>     initialize_forge()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\modules_forge\initialization.py", line 58, in initialize_forge
>     from backend import memory_management
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 133, in <module>
>     total_vram = get_total_memory(get_torch_device()) / (1024 * 1024)
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\backend\memory_management.py", line 100, in get_torch_device
>     return torch.device(torch.cuda.current_device())
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_cpu\lib\site-packages\torch\cuda\__init__.py", line 778, in current_device
>     _lazy_init()
>   File "C:\Programs\stable-diffusion-webui-amdgpu-forge\venv_cpu\lib\site-packages\torch\cuda\__init__.py", line 284, in _lazy_init
>     raise AssertionError("Torch not compiled with CUDA enabled")
> AssertionError: Torch not compiled with CUDA enabled
> Press any key to continue . . .

Is there a log directory that would give more info? Or should I delete the venv and get a full log of the install process in case something got screwed up?

MindCaged avatar Nov 06 '24 13:11 MindCaged

It is --directml, not --use-directml in forge. Wipe venv and try again. About zluda, did you install HIP SDK?

lshqqytiger avatar Nov 06 '24 13:11 lshqqytiger

Yes, I installed HIP SDK, or at least I think I did. I ran the installer and everything, but not sure if I added it to the path variable correctly. when I echo %path% at the end it says ;C:\Program Files\AMD\ROCm\6.1\bin; Come to think of it i don't think --use-zluda worked on the A1111 version either, I got it to launch but it falls back to the cpu. I might have to check that out later.

Am currently reinstalling the venv for directml.... It threw some warnings but it launched and seems to be using the GPU, so that's something. I would hope I could get the zluda version working because I hear it's faster and this little minipc takes a while with directml, not that I'm expecting a miraculous improvment but I'd take what I can get without upgrading,

MindCaged avatar Nov 06 '24 13:11 MindCaged

If you want to use Zluda you have to find ROCm libs for GFX902 but it might be challenging. Good luck

TheFerumn avatar Nov 06 '24 14:11 TheFerumn

It detects HIP SDK, but not iGPU. Maybe support of your iGPU was dropped in 6.1. Run C:\Program Files\AMD\ROCm\6.1\bin\hipinfo.exe and let me know the output.

lshqqytiger avatar Nov 07 '24 01:11 lshqqytiger