[bug]: Fresh install always uses cuda for a ROCm compatible AMD GPU
Is there an existing issue for this?
- [X] I have searched the existing issues
OS
Linux
GPU
amd
VRAM
16GB
What version did you experience this issue on?
v3.0.2rc1
What happened?
I used the install script from the latest release, and selected AMD GPU (with ROCm). The script installs perfectly fine, and then I go to run InvokeAI in the graphical web client, and I get this output:
[2023-08-09 17:25:18,419]::[uvicorn.error]::INFO --> Started server process [16866]
[2023-08-09 17:25:18,419]::[uvicorn.error]::INFO --> Waiting for application startup.
[2023-08-09 17:25:18,420]::[InvokeAI]::INFO --> InvokeAI version 3.0.1
[2023-08-09 17:25:18,420]::[InvokeAI]::INFO --> Root directory = /<myrootpath>/AI/invokeAI
[2023-08-09 17:25:18,421]::[InvokeAI]::INFO --> GPU device = cuda AMD Radeon RX 6800 XT
As you can see, it opens up with cuda AMD Radeon RX 6800 XT. This card works just fine with A111 and ROCm. I've also edited the invokeai.yaml file, as I saw that xformers was enabled (isn't available for AMD cards). Here's my current config:
InvokeAI:
Web Server:
host: 127.0.0.1
port: 9090
allow_origins: []
allow_credentials: true
allow_methods:
- '*'
allow_headers:
- '*'
Features:
esrgan: true
internet_available: true
log_tokenization: false
patchmatch: true
Memory/Performance:
always_use_cpu: false
free_gpu_mem: true
max_cache_size: 10.0
max_vram_cache_size: 2.75
precision: float32
sequential_guidance: false
xformers_enabled: false
tiled_decode: false
Paths:
autoimport_dir: autoimport
lora_dir: null
embedding_dir: null
controlnet_dir: null
conf_path: configs/models.yaml
models_dir: models
legacy_conf_dir: configs/stable-diffusion
db_dir: databases
outdir: /<myrootpath>/AI/invokeAI/outputs
use_memory_db: false
Logging:
log_handlers:
- console
log_format: color
log_level: info
Of course, cuda doesn't work with my card and I get all-black output images.
Screenshots
No response
Additional context
This also breaks on the manual install and runs with cuda.
Contact Details
No response
This is expected (Also check out the visual in this README section). TL;DR: Kernel numerics are different.
Kernel numerics are different
@atiorh Could you explain this? Does it mean the weights will be slightly changed when loaded to NPU?