Настроить Stable Diffusion на сервере с Ubuntu с использованием AMD GPU можно с помощью ROCm (Radeon Open Compute) и DirectML. Вот пошаговая инструкция:
Перед началом убедитесь, что ваша видеокарта поддерживает ROCm. AMD официально поддерживает ROCm для GPU серии:
Для проверки модели видеокарты выполните:
lspci | grep VGA
Установите драйверы ROCm, чтобы использовать PyTorch с HIP.
wget https://repo.radeon.com/amdgpu-install/6.0/ubuntu/jammy/amdgpu-install_6.0.60000-1_all.deb sudo dpkg -i amdgpu-install_6.0.60000-1_all.deb sudo apt update
Для установки ROCm выполните:
sudo amdgpu-install --usecase=rocm,hip,dkms,graphics
Перезагрузите систему:
sudo reboot
Проверьте, что ROCm установлен:
/opt/rocm/bin/rocminfo /opt/rocm/bin/clinfo
Stable Diffusion требует PyTorch с поддержкой HIP (аналог CUDA для AMD).
Установите PyTorch с ROCm:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6
Проверьте, что PyTorch видит GPU:
import torch print(torch.cuda.is_available()) # Должно вернуть True print(torch.cuda.get_device_name(0)) # Должно показать вашу AMD GPU
Используем AUTOMATIC1111 WebUI, так как он поддерживает AMD через ROCm.
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui
pip install -r requirements.txt
python launch.py --precision full --no-half --disable-nan-check
Если используете RDNA 3 (RX 7000), можно попробовать:
python launch.py --precision full --no-half
Если ROCm не работает, можно использовать DirectML:
pip install torch-directml
Добавьте в webui-user.sh:
export PYTORCH_ENABLE_MPS_FALLBACK=1 export PYTORCH_HIP_ALLOC_CONF=garbage_collection_threshold:0.9,max_split_size_mb:512
Запускайте:
python launch.py --use-directml
watch -n 1 rocm-smi
sudo amdgpu-install --usecase=rocm --upgrade
sudo amdgpu-uninstall
Готово! Теперь вы можете использовать Stable Diffusion на AMD GPU под Ubuntu. 🚀