ComfyUI em GPU AMD: instalar com ROCm passo a passo

Rodar o ComfyUI em uma placa AMD não é mais uma gambiarra restrita ao Linux: a AMD e a Comfy.org agora documentam uma instalação com ROCm no Windows, ao lado do caminho clássico a partir do código-fonte no Linux. Este guia de ComfyUI para AMD descreve os três caminhos que funcionam de verdade (ComfyUI Desktop, instalação manual, Docker), as verificações que comprovam que a Radeon está realmente fazendo o processamento e os erros de driver ou de memória mais comuns. Ele não contém nenhuma medição de velocidade: apenas etapas, suas limitações e as fontes a consultar.
#ComfyUI AMD: qual caminho de instalação escolher
O ComfyUI se baseia no PyTorch. Em uma placa NVIDIA, o PyTorch usa CUDA; em uma Radeon, usa ROCm, a pilha de computação da AMD, cuja camada HIP expõe uma interface propositalmente parecida com a do CUDA. É por isso que o ComfyUI mostra "cuda" mesmo em uma placa AMD: o PyTorch mantém esse nome para o dispositivo, independentemente da marca. Todo o trabalho consiste, portanto, em obter uma versão do PyTorch compilada para ROCm e um driver que permita a ela acessar a GPU.
- Windows, Radeon recente
- ComfyUI Desktop com ROCm, o caminho oficial descrito pela AMD e anunciado pela Comfy.org. É o mais simples: o instalador cuida do Python, do PyTorch e das dependências.
- Linux
- Instalação a partir do código-fonte com um ambiente virtual Python e os wheels do PyTorch ROCm. É o caminho mais antigo, o mais bem documentado e o que abrange mais placas, inclusive por meio de contornos para modelos não listados.
- Linux, servidor ou máquina compartilhada
- Docker sobre uma imagem ROCm fornecida pela AMD. Prático para isolar o ComfyUI do resto do sistema e recomeçar do zero se algo quebrar.
- Windows, Radeon antiga
- Não há caminho oficial com ROCm. As alternativas (DirectML ou migrar para o Linux) são apresentadas na seção de solução de problemas.
Se você está começando com o ComfyUI, tenha à mão nosso guia de instalação para iniciantes: a interface, os nós e o local dos modelos são idênticos na AMD e na NVIDIA. Só a camada de hardware muda, e é dela que este guia trata.
#Pré-requisitos e placas compatíveis
Aproveite a nossa experiência e um percurso guiado para dominar as suas ferramentas e criar as suas imagens localmente.
- Espaço online vitalício
- PDF + arquivos
- Reembolsado em 30 dias
A lista de GPUs compatíveis com o ROCm muda a cada versão e não é a mesma no Windows e no Linux. Não confie em fórum nem em tutorial antigo: abra a matriz de compatibilidade da documentação "ROCm on Radeon and Ryzen" na hora de instalar e localize sua placa e seu sistema na tabela da versão atual.
- Arquitetura
- Os caminhos oficiais têm como alvo principal as Radeon RDNA 3 (RX 7000) e RDNA 4 (RX 9000), além de alguns processadores Ryzen AI com gráficos integrados. As RDNA 2 (RX 6000) continuam utilizáveis no Linux, muitas vezes com uma variável de contorno. Verifique seu modelo exato na matriz.
- Driver do Windows
- AMD Software Adrenalin Edition, na versão mínima indicada pela página de instalação da AMD. Uma versão antiga demais é a principal causa de falha no Windows.
- Driver para Linux
- O driver de kernel amdgpu de uma distribuição atualizada, com acesso aos dispositivos /dev/kfd e /dev/dri. Os wheels do PyTorch ROCm já incluem as bibliotecas de computação de que precisam; instalar o ROCm completo continua sendo útil para ferramentas de diagnóstico como o rocminfo.
- Python
- Para a instalação manual, uma versão do Python aceita pelo wheel do PyTorch escolhido. O seletor do pytorch.org informa qual é.
- Disco
- Conte com vários gigabytes só para o PyTorch ROCm, mais o tamanho dos modelos de imagem, cada um com de alguns gigabytes a mais de uma dezena.
- Memória de vídeo
- Ela determina quais modelos podem ser usados, assim como em NVIDIA. Em um processador Ryzen com gráficos integrados, a quantidade de memória reservada à GPU é ajustada na BIOS ou no software da AMD.
#Windows: ComfyUI Desktop com ROCm
O ComfyUI Desktop é o aplicativo de instalação oficial da Comfy.org. Em uma placa AMD compatível, ele instala uma versão do PyTorch compatível com ROCm, sem que você precise mexer com índices do pip. A página da AMD sobre a instalação do ComfyUI no Windows e o anúncio da Comfy.org sobre o suporte oficial ao AMD ROCm são as duas referências a seguir: em caso de divergência com este guia, são elas que valem.
- 01Atualizar o driverInstale a versão do AMD Software Adrenalin Edition exigida pela documentação da AMD e depois reinicie. Dependendo da versão, o instalador do Adrenalin também oferece componentes de IA opcionais: eles não são necessários para seguir este guia.
- 02Baixar o ComfyUI DesktopBaixe o instalador para Windows na página de download do comfy.org, nunca em um site espelho. Execute-o com sua conta de usuário habitual.
- 03Escolher a GPU AMDNa etapa de escolha do hardware, selecione a opção AMD. Se ela não aparecer ou continuar desativada, sua versão do instalador ou sua placa não é compatível: confira a matriz de compatibilidade antes de prosseguir.
- 04Escolher o local dos dadosIndique uma pasta em um disco com espaço livre: modelos, saídas e nós personalizados se acumulam rapidamente. Se você já tinha uma instalação do ComfyUI, o assistente pode reaproveitar os modelos dela.
- 05Deixar a instalação terminarA primeira execução baixa o Python, o PyTorch e as dependências. É demorado e ocupa bastante espaço, o que é normal. Não feche a janela enquanto a interface não aparecer.
- 06Verificar o logAbra os logs pelo menu do aplicativo e procure a linha "Device": ela deve mostrar o nome da sua Radeon. Se indicar o processador, o PyTorch não encontrou a GPU: consulte a seção de solução de problemas.
Para uma versão portátil sem instalador, consulte a página de versões publicadas (releases) do repositório GitHub do ComfyUI: verifique se há um arquivo compactado destinado a placas AMD para a versão atual e siga as instruções que o acompanham. Não use um arquivo pensado para NVIDIA com uma placa AMD: ele contém um PyTorch CUDA que nunca vai enxergar a sua Radeon.
#Linux: instalar o ComfyUI para AMD a partir do código-fonte
No Linux, a instalação manual continua sendo a mais flexível. O princípio se resume a três pontos: dar ao seu usuário acesso à GPU, instalar o PyTorch ROCm em um ambiente virtual e, depois, instalar o ComfyUI por cima sem sobrescrever esse PyTorch.
- 01Dar acesso à GPUAdicione seu usuário aos grupos render e video, depois encerre a sessão e entre novamente. Sem isso, o PyTorch não consegue abrir /dev/kfd e não enxerga nenhuma GPU.
- 02Verificar se o sistema reconhece a placaSe o ROCm estiver instalado, o rocminfo deve listar um agente do tipo GPU com um identificador gfx (por exemplo, gfx1100 para uma RX 7900 XTX, gfx1201 para uma RX 9070 XT). Anote esse identificador: ele é útil na solução de problemas.
- 03Criar o ambiente PythonClone o ComfyUI, crie um ambiente virtual na pasta dele e ative-o. Toda sessão de trabalho começará com essa ativação.
- 04Instalar o PyTorch ROCm primeiroNo pytorch.org, na página Get Started, escolha Linux, Pip, Python e ROCm: o site mostra o comando exato e a versão atual do ROCm. Instale esse PyTorch antes de qualquer outra dependência.
- 05Instalar o ComfyUI e executarInstale as dependências do ComfyUI e depois execute o main.py. Por padrão, a interface responde em http://127.0.0.1:8188.
O README do ComfyUI também descreve um caminho experimental, no Windows e no Linux, com wheels do PyTorch publicados pela AMD para algumas arquiteturas RDNA 3, 3.5 e 4. Ele evolui rápido: se quiser testá-lo, copie o comando diretamente da seção AMD do README, e não de um tutorial, porque os endereços de índice dependem da arquitetura da sua placa.
#Docker com uma imagem ROCm
A AMD publica no Docker Hub imagens rocm/pytorch que contêm o ROCm e um PyTorch já compilado para ele. Até onde sabemos, não existe imagem oficial do ComfyUI para AMD: o método mais limpo é partir da imagem da AMD e instalar o ComfyUI nela. O host só precisa ter o driver amdgpu; o contêiner recebe acesso à GPU pelos dispositivos /dev/kfd e /dev/dri.
- Tag da imagem
- latest muda a cada versão do ROCm. Para uma instalação que você queira reproduzir, anote a tag exata usada e reutilize-a, depois de verificar se ela é compatível com a sua placa.
- Quantidade
- A pasta montada em /workspace preserva o ComfyUI, seus modelos e suas saídas quando o contêiner é removido. Sem ela, tudo volta à estaca zero.
- Exposition
- A porta é publicada em 127.0.0.1: somente a máquina host acessa a interface. Não exponha o ComfyUI em uma rede aberta: ele não tem autenticação por padrão e os nós personalizados executam código.
- Relance
- docker start -ai comfyui-rocm rouvre le même conteneur, sans réinstaller.
Vale o mesmo alerta da instalação manual: depois do pip install, verifique se o PyTorch do contêiner continua sendo o da AMD.
#Verificar se a GPU AMD está realmente trabalhando
Uma instalação que inicia não prova nada: o ComfyUI consegue recorrer ao processador. Duas verificações bastam. A primeira consulta o PyTorch diretamente, no ambiente em que o ComfyUI está rodando.
- torch.version.hip
- Deve exibir um número de versão. None significa que esse PyTorch não foi compilado para ROCm: quase sempre é um PyTorch CUDA ou CPU instalado por engano.
- torch.cuda.is_available()
- Deve exibir True. A palavra cuda é normal em AMD: o PyTorch reaproveita essa interface para o HIP.
- get_device_name(0)
- Deve mostrar o nome da sua Radeon. Se for a GPU integrada do processador, veja o item sobre a GPU errada na seção de solução de problemas.
A segunda verificação é feita durante uma renderização: no Linux, o rocm-smi ou o amd-smi mostram a utilização e a memória usada da GPU; no Windows, o Gerenciador de Tarefas ou o software Adrenalin mostram a carga da placa. Se o processador chegar a 100 % enquanto a GPU continua ociosa, o processamento não está passando pela Radeon.
#Erros comuns de driver e de detecção
- "hipErrorNoBinaryForGpu" ou "Unable to find code object"
- O PyTorch instalado não contém código para a arquitetura da sua placa. No Linux, para uma placa próxima de uma arquitetura compatível, o README do ComfyUI indica a variável HSA_OVERRIDE_GFX_VERSION: 10.3.0 para RDNA 2, como as RX 6700 ou 6600, e 11.0.0 para RDNA 3, como a RX 7600. É um contorno não garantido pela AMD.
- Nenhuma GPU detectada no Linux
- Verifique se você pertence aos grupos render e video (comando groups) depois de se reconectar e, em seguida, se /dev/kfd existe. No Docker, verifique se as opções --device foram de fato passadas.
- GPU errada selecionada
- Em uma máquina com gráficos integrados AMD e uma Radeon, o PyTorch pode enxergar dois dispositivos. Restrinja-o à placa dedicada com HIP_VISIBLE_DEVICES, guiando-se pela ordem exibida pelo rocminfo.
- Opção AMD ausente no ComfyUI Desktop
- Driver antigo demais, versão do instalador anterior ao suporte a ROCm ou placa fora da matriz. Atualize o Adrenalin e o instalador e depois verifique a compatibilidade novamente.
- ComfyUI rodando no processador depois de adicionar um nó
- Um nó reinstalou o torch. Reinstale o PyTorch ROCm com o comando do pytorch.org e depois verifique torch.version.hip.
- Radeon antiga no Windows
- O ComfyUI aceita uma opção --directml com o pacote torch-directml. O README a descreve como pouco suportada: use-a apenas para solução de problemas. Para uso regular em uma RX 6000, o Linux continua sendo o caminho mais sólido.
#Falta de memória de vídeo: os ajustes úteis
Na AMD, a falta de memória aparece como um erro do tipo "HIP out of memory" em vez de "CUDA out of memory". As soluções são as mesmas da NVIDIA e passam primeiro pelas opções de inicialização do ComfyUI e, depois, pela escolha do modelo e da resolução.
- --lowvram
- Divide o modelo e o carrega em partes. É mais lento, mas permite comportar modelos maiores.
- --novram
- Vai ainda mais longe, quando --lowvram não é suficiente.
- --reserve-vram
- Reserva uma quantidade de memória, em gigabytes, que o ComfyUI não vai usar. Útil quando a tela, o navegador ou outro programa compartilham a mesma placa.
- --cpu-vae
- Transfere a decodificação VAE para o processador. O nó VAE Decode (Tiled) é outra solução, que continua na GPU, processando em blocos.
- Resolução e lote
- Reduza o tamanho da imagem ou o número de imagens por lote antes de trocar de modelo: a memória consumida durante a decodificação aumenta com eles.
- Modelos quantizados
- Existem versões reduzidas (FP8, GGUF via um nó dedicado) de vários grandes modelos de imagem. Verifique se o formato é compatível com a sua versão do PyTorch ROCm antes de contar com elas.
- PYTORCH_HIP_ALLOC_CONF
- O equivalente AMD de PYTORCH_CUDA_ALLOC_CONF. O valor expandable_segments:True pode reduzir a fragmentação da memória; o efeito depende da versão do PyTorch.
O README do ComfyUI também menciona uma variável, TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1, para combinar com --use-pytorch-cross-attention, a fim de ativar uma atenção que consome menos memória em certas placas AMD. Ela é experimental; se causar erros, remova-a antes de procurar outra causa.
#O que este guia não promete
Nenhum teste de velocidade foi feito para este guia, e você não vai encontrar aqui tempos de renderização nem comparação com uma placa NVIDIA. O desempenho do ComfyUI em AMD depende da placa, da versão do ROCm, da versão do PyTorch, do modelo e das opções de atenção: um número isolado, sem essas informações, não diria nada a você. Os comandos acima seguem a documentação da AMD e do PyTorch e o README do ComfyUI; os números de versão, por sua vez, foram deixados de propósito para você conferir nessas fontes, porque mudam mais rápido do que um guia.
Tenha em mente também que os nós personalizados costumam ser escritos para CUDA. Alguns chamam bibliotecas específicas da NVIDIA e vão falhar em uma Radeon, mesmo que o próprio ComfyUI funcione. Antes de instalar um workflow complexo, verifique no repositório de cada nó se ele menciona ROCm ou AMD.
#Para se aprofundar
Depois que o ComfyUI estiver funcionando na sua Radeon, estes guias dão continuidade à instalação: os primeiros passos na interface, o mesmo trabalho de configuração do ROCm para o Ollama se você também quiser rodar LLMs, e as fichas das placas AMD mais comuns.
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.