ComfyUI su GPU AMD: installare con ROCm passo dopo passo

Far girare ComfyUI su una scheda AMD non è più un ripiego riservato a Linux: AMD e Comfy.org documentano ormai un'installazione con ROCm su Windows, accanto alla via classica dai sorgenti su Linux. Questa guida ComfyUI AMD descrive i tre percorsi che reggono (ComfyUI Desktop, installazione manuale, Docker), i controlli che dimostrano che la Radeon sta davvero calcolando e gli errori di driver o di memoria che si incontrano più spesso. Non contiene alcuna misurazione di velocità: solo passaggi, i loro limiti e le fonti da consultare.
#ComfyUI AMD: quale metodo di installazione scegliere
ComfyUI si basa su PyTorch. Su una scheda NVIDIA, PyTorch passa per CUDA; su una Radeon, passa per ROCm, lo stack di calcolo di AMD, il cui livello HIP espone un'interfaccia volutamente simile a CUDA. Per questo ComfyUI mostra «cuda» anche su una scheda AMD: PyTorch mantiene questo nome per il dispositivo, qualunque sia la marca. Tutto il lavoro consiste quindi nell'ottenere una versione di PyTorch compilata per ROCm e un driver che le consenta di accedere alla GPU.
- Windows, Radeon recente
- ComfyUI Desktop con ROCm, il percorso ufficiale descritto da AMD e annunciato da Comfy.org. È il più semplice: l'installer gestisce Python, PyTorch e le dipendenze.
- Linux
- Installazione dai sorgenti con un ambiente virtuale Python e le wheel PyTorch ROCm. È la strada più vecchia, la meglio documentata e quella che copre più schede, anche tramite workaround per modelli non elencati.
- Linux, server o macchina condivisa
- Docker su un'immagine ROCm fornita da AMD. Comodo per isolare ComfyUI dal resto del sistema e ripartire da zero in caso di problemi.
- Windows, Radeon datata
- Nessun percorso ROCm ufficiale. Le soluzioni alternative (DirectML, o passare a Linux) sono illustrate nella sezione sulla risoluzione dei problemi.
Se sei alle prime armi con ComfyUI, tieni a portata di mano la nostra guida all'installazione per principianti: l'interfaccia, i nodi e la posizione dei modelli sono identici su AMD e su NVIDIA. Cambia solo il livello hardware, ed è di questo che si occupa questa guida.
#Prerequisiti e schede supportate
Approfitta della nostra esperienza e di un percorso guidato per prendere confidenza con i tuoi strumenti e creare le tue immagini in locale.
- Spazio online a vita
- PDF + file
- Garanzia di rimborso di 30 giorni
L'elenco delle GPU supportate da ROCm cambia a ogni versione e non è lo stesso su Windows e su Linux. Non fidarti né di un forum né di un vecchio tutorial: apri la matrice di compatibilità della documentazione «ROCm on Radeon and Ryzen» al momento dell'installazione e individua la tua scheda e il tuo sistema nella tabella della versione corrente.
- Architettura
- I percorsi ufficiali puntano innanzitutto alle Radeon RDNA 3 (RX 7000) e RDNA 4 (RX 9000), oltre ad alcuni processori Ryzen AI con grafica integrata. Le RDNA 2 (RX 6000) restano utilizzabili su Linux, spesso con una variabile di aggiramento. Verifica il tuo modello esatto nella matrice.
- Driver Windows
- AMD Software Adrenalin Edition, nella versione minima indicata dalla pagina di installazione di AMD. Una versione troppo vecchia è la prima causa di errore su Windows.
- Driver Linux
- Il driver kernel amdgpu di una distribuzione aggiornata, con accesso ai dispositivi /dev/kfd e /dev/dri. Le wheel PyTorch ROCm includono le librerie di calcolo di cui hanno bisogno; installare ROCm completo resta utile per gli strumenti di diagnostica come rocminfo.
- Python
- Per l'installazione manuale, una versione di Python supportata dalla wheel PyTorch scelta. Il selettore di pytorch.org la indica.
- Disco
- Calcola diversi gigabyte solo per PyTorch ROCm, più la dimensione dei modelli di immagini, che pesano ciascuno da qualche gigabyte a oltre una decina.
- Memoria video
- Determina quali modelli puoi usare, come su NVIDIA. Su un processore Ryzen con grafica integrata, la quota di memoria riservata alla GPU si regola nel BIOS o nel software AMD.
#Windows: ComfyUI Desktop con ROCm
ComfyUI Desktop è l'applicazione di installazione ufficiale di Comfy.org. Su una scheda AMD supportata, installa una versione di PyTorch compatibile con ROCm, senza che tu debba intervenire sugli indici pip. La pagina di AMD sull'installazione di ComfyUI su Windows e l'annuncio di Comfy.org sul supporto ufficiale di AMD ROCm sono i due riferimenti da seguire: in caso di discrepanze con questa guida, fanno fede loro.
- 01Aggiornare il driverInstalla la versione di AMD Software Adrenalin Edition richiesta dalla documentazione di AMD, poi riavvia. A seconda delle versioni, il programma di installazione di Adrenalin propone anche componenti di IA opzionali: non sono necessari per seguire questa guida.
- 02Scaricare ComfyUI DesktopScarica il programma di installazione per Windows dalla pagina di download di comfy.org, mai da un sito mirror. Avvialo con il tuo account utente abituale.
- 03Scegliere la GPU AMDNel passaggio di scelta dell'hardware, seleziona l'opzione AMD. Se non compare o resta disattivata, la tua versione del programma di installazione o la tua scheda non è supportata: verifica la matrice di compatibilità prima di andare avanti.
- 04Scegliere la posizione dei datiIndica una cartella su un disco con spazio libero: modelli, output e nodi personalizzati vi si accumulano in fretta. Se avevi già un'installazione di ComfyUI, la procedura guidata può recuperarne i modelli.
- 05Lasciare che l'installazione terminiIl primo avvio scarica Python, PyTorch e le dipendenze. È lungo e occupa molto spazio, è normale. Non chiudere la finestra finché l'interfaccia non viene visualizzata.
- 06Controllare il logApri i log dal menu dell'applicazione e cerca la riga «Device»: deve indicare la tua Radeon. Se indica il processore, PyTorch non ha trovato la GPU: consulta la sezione sulla risoluzione dei problemi.
Per una versione portable senza installer, consulta la pagina delle release del repository GitHub di ComfyUI: verifica se vi compare un archivio destinato alle schede AMD per la versione corrente e segui le istruzioni che lo accompagnano. Non usare con una scheda AMD un archivio pensato per NVIDIA: contiene un PyTorch CUDA che non vedrà mai la tua Radeon.
#Linux: installare ComfyUI AMD dai sorgenti
Su Linux, l'installazione manuale resta la più flessibile. Il principio si riassume in tre punti: dare al tuo utente l'accesso alla GPU, installare PyTorch ROCm in un ambiente virtuale, poi installare ComfyUI sopra senza sovrascrivere quel PyTorch.
- 01Concedere l'accesso alla GPUAggiungi il tuo utente ai gruppi render e video, poi chiudi la sessione e riconnettiti. Senza questo passaggio, PyTorch non può aprire /dev/kfd e non vede alcuna GPU.
- 02Verificare che il sistema veda la schedaSe ROCm è installato, rocminfo deve elencare un agente di tipo GPU con un identificativo gfx (ad esempio gfx1100 per una RX 7900 XTX, gfx1201 per una RX 9070 XT). Annota questo identificativo: serve per la risoluzione dei problemi.
- 03Creare l'ambiente PythonClona ComfyUI, crea un ambiente virtuale nella sua cartella e attivalo. Ogni sessione di lavoro inizierà con questa attivazione.
- 04Installare prima PyTorch ROCmSu pytorch.org, pagina Get Started, scegli Linux, Pip, Python e ROCm: il sito mostra il comando esatto e la versione di ROCm del momento. Installa questo PyTorch prima di qualsiasi altra dipendenza.
- 05Installare ComfyUI e avviareInstalla le dipendenze di ComfyUI, poi avvia main.py. L'interfaccia risponde per impostazione predefinita su http://127.0.0.1:8188.
Il README di ComfyUI descrive anche una strada sperimentale, su Windows e Linux, con wheel PyTorch pubblicate da AMD per alcune architetture RDNA 3, 3.5 e 4. Evolve rapidamente: se vuoi provarla, copia il comando direttamente dalla sezione AMD del README anziché da un tutorial, perché gli indirizzi degli indici dipendono dall'architettura della tua scheda.
#Docker con un'immagine ROCm
AMD pubblica su Docker Hub immagini rocm/pytorch che contengono ROCm e un PyTorch già compilato per esso. Non esiste, per quanto ci risulta, un'immagine ComfyUI ufficiale per AMD: il metodo più pulito consiste nel partire dall'immagine di AMD e installarvi ComfyUI. L'host deve solo disporre del driver amdgpu; il container riceve l'accesso alla GPU tramite i dispositivi /dev/kfd e /dev/dri.
- Tag dell'immagine
- latest cambia a ogni versione di ROCm. Per un'installazione che vuoi riprodurre, annota il tag preciso utilizzato e riutilizzalo, dopo aver verificato che supporti la tua scheda.
- Volume
- La cartella montata in /workspace conserva ComfyUI, i suoi modelli e i suoi output quando il container viene eliminato. Senza di essa, si riparte da zero.
- Exposition
- La porta è pubblicata su 127.0.0.1: solo la macchina host accede all'interfaccia. Non esporre ComfyUI su una rete aperta: non ha autenticazione per impostazione predefinita e i nodi personalizzati eseguono codice.
- Relance
- docker start -ai comfyui-rocm rouvre le même conteneur, sans réinstaller.
Vale lo stesso avvertimento dell'installazione manuale: dopo pip install, verifica che il PyTorch del container sia ancora quello di AMD.
#Verificare che la GPU AMD stia davvero lavorando
Un'installazione che si avvia non dimostra nulla: ComfyUI può ripiegare sulla CPU. Bastano due controlli. Il primo interroga direttamente PyTorch, nell'ambiente in cui gira ComfyUI.
- torch.version.hip
- Deve mostrare un numero di versione. None significa che questo PyTorch non è stato compilato per ROCm: è quasi sempre un PyTorch CUDA o CPU installato per errore.
- torch.cuda.is_available()
- Deve mostrare True. La parola cuda è normale su AMD: PyTorch riutilizza questa interfaccia per HIP.
- get_device_name(0)
- Deve indicare la tua Radeon. Se è la grafica integrata del processore, consulta il punto sulla GPU sbagliata nella sezione sulla risoluzione dei problemi.
Il secondo controllo si fa durante un rendering: su Linux, rocm-smi o amd-smi mostrano l'occupazione e la memoria utilizzata della GPU; su Windows, il Task Manager o il software Adrenalin mostrano il carico della scheda. Se il processore sale al 100% mentre la GPU resta inattiva, il calcolo non passa dalla Radeon.
#Errori frequenti di driver e di rilevamento
- «hipErrorNoBinaryForGpu» o «Unable to find code object»
- Il PyTorch installato non contiene codice per l'architettura della tua scheda. Su Linux, per una scheda vicina a un'architettura supportata, il README di ComfyUI indica la variabile HSA_OVERRIDE_GFX_VERSION: 10.3.0 per le RDNA 2 come le RX 6700 o 6600, 11.0.0 per le RDNA 3 come la RX 7600. È un workaround non garantito da AMD.
- Nessuna GPU rilevata su Linux
- Dopo esserti riconnesso, verifica l'appartenenza ai gruppi render e video (comando groups), poi la presenza di /dev/kfd. In Docker, verifica che le opzioni --device siano state effettivamente passate.
- GPU sbagliata selezionata
- Su una macchina con una grafica integrata AMD e una Radeon, PyTorch può vedere due dispositivi. Limitalo alla scheda dedicata con HIP_VISIBLE_DEVICES, aiutandoti con l'ordine mostrato da rocminfo.
- Opzione AMD assente in ComfyUI Desktop
- Driver troppo vecchio, versione dell'installer precedente al supporto ROCm o scheda fuori dalla matrice. Aggiorna Adrenalin e l'installer, poi verifica di nuovo la compatibilità.
- ComfyUI gira sulla CPU dopo l'aggiunta di un nodo
- Un nodo ha reinstallato torch. Reinstalla PyTorch ROCm con il comando di pytorch.org, poi verifica torch.version.hip.
- Radeon datata su Windows
- ComfyUI accetta un'opzione --directml con il pacchetto torch-directml. Il README la descrive come poco supportata: riservala alla risoluzione dei problemi. Per un uso regolare su una RX 6000, Linux resta la strada più solida.
#Memoria video insufficiente: le impostazioni utili
Su AMD, la mancanza di memoria si manifesta con un errore del tipo «HIP out of memory» invece di «CUDA out of memory». I rimedi sono gli stessi che su NVIDIA e passano innanzitutto dalle opzioni di avvio di ComfyUI, poi dalla scelta del modello e della risoluzione.
- --lowvram
- Suddivide il modello e lo carica a blocchi. Più lento, ma permette di far stare in memoria modelli più grandi.
- --novram
- Va ancora oltre, quando --lowvram non basta.
- --reserve-vram
- Riserva una quantità di memoria, in gigabyte, che ComfyUI non toccherà. Utile quando lo schermo, il browser o un altro programma condividono la stessa scheda.
- --cpu-vae
- Sposta la decodifica VAE sul processore. Il nodo VAE Decode (Tiled) è un'altra soluzione, che resta sulla GPU lavorando a riquadri.
- Risoluzione e batch
- Riduci la dimensione dell'immagine o il numero di immagini per batch prima di cambiare modello: la memoria consumata durante la decodifica cresce con essi.
- Modelli quantizzati
- Esistono versioni ridotte (FP8, GGUF tramite un nodo dedicato) per diversi grandi modelli di immagini. Verifica che il formato sia supportato dalla tua versione di PyTorch ROCm prima di farci affidamento.
- PYTORCH_HIP_ALLOC_CONF
- L'equivalente AMD di PYTORCH_CUDA_ALLOC_CONF. Il valore expandable_segments:True può ridurre la frammentazione della memoria; il suo effetto dipende dalla versione di PyTorch.
Il README di ComfyUI menziona anche una variabile, TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1, da combinare con --use-pytorch-cross-attention, per attivare un'attention più efficiente in termini di memoria su alcune schede AMD. È sperimentale; se provoca errori, rimuovila prima di cercare un'altra causa.
#Cosa questa guida non promette
Per questa guida non è stato eseguito alcun test di velocità e non vi troverai né tempi di rendering né confronti con una scheda NVIDIA. Le prestazioni di ComfyUI su AMD dipendono dalla scheda, dalla versione di ROCm, da quella di PyTorch, dal modello e dalle opzioni di attention: un dato isolato, senza queste informazioni, non ti direbbe nulla. I comandi qui sopra seguono la documentazione di AMD e di PyTorch e il README di ComfyUI; i numeri di versione, invece, sono volutamente lasciati da verificare su queste fonti, perché cambiano più in fretta di una guida.
Tieni anche presente che i nodi personalizzati sono scritti il più delle volte per CUDA. Alcuni richiamano librerie specifiche di NVIDIA e non funzioneranno su una Radeon, anche se ComfyUI stesso funziona. Prima di installare un workflow complesso, verifica nel repository di ogni nodo se menziona ROCm o AMD.
#Per approfondire
Una volta che ComfyUI è operativo sulla tua Radeon, queste guide proseguono l'installazione: i primi passi nell'interfaccia, lo stesso lavoro di configurazione ROCm per Ollama se vuoi far girare anche degli LLM, e le schede delle GPU AMD più diffuse.
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.