[{"data":1,"prerenderedAt":152},["ShallowReactive",2],{"$f13z1c9onuohbm":3},{"slug":4,"publishedAt":5,"category":6,"title":7,"summary":8,"image":9,"imageAlt":14,"readingMinutes":15,"serviceId":16,"keywords":17,"imageCaption":23,"sections":24,"sources":136},"gpu-cfd-solvers","2026-10-19","methods","Solutori CFD su GPU: quando il passaggio conviene e cosa costa","Un solutore CFD su GPU conviene se il caso entra in memoria, usa modelli supportati ed è abbastanza grande. Come verificarlo, e come verificare il risultato su GPU.",{"src":10,"thumbnail":11,"width":12,"height":13},"\u002Fassets\u002Fcfd-cases\u002Faero\u002Fimages\u002F02.webp","\u002Fbrand\u002Fstudies\u002Faero.svg",1448,1086,"Illustrazione DEEB-FLOW di un modello aerodinamico di ala d’aereo",12,"review",[18,19,20,21,22],"solutore CFD GPU","GPU o CPU per la CFD","solutore GPU Fluent","memoria GPU per milione di celle","precisione singola CFD","Illustrazione concettuale dalla libreria di casi DEEB-FLOW. Non è un risultato di questo articolo.",[25,32,43,51,63,70,82,99,116,128],{"id":26,"title":27,"paragraphs":28},"two-runs","Due calcoli, una decisione",[29,30,31],"Il calcolo su GPU è finito prima di pranzo. Lo stesso caso sul cluster CPU è rimasto in coda tutta la notte e ha girato per quasi tutta la mattina dopo. I coefficienti di resistenza coincidono alla terza cifra, la temperatura di uscita differisce di mezzo grado, e qualcuno in riunione chiede perché il team calcoli ancora qualcosa su CPU.","La domanda è legittima. Ce n’è una più noiosa che dovrebbe venire prima. Quale delle due risposte firmeresti?","Un solutore CFD su GPU conviene quando valgono tre condizioni: il caso entra nella memoria della GPU, usa solo modelli supportati dal solutore GPU ed è abbastanza grande perché l’accelerazione superi il prezzo orario più alto dell’hardware. Questo articolo mostra come verificare ciascuna prima di comprare o noleggiare qualsiasi cosa, che cosa fa il solutore GPU in modo diverso dal suo equivalente CPU e il pomeriggio di verifica che dedicherei prima di affidargli una decisione.",{"id":33,"title":34,"paragraphs":35},"what-runs-on-the-gpu","Che cosa gira davvero sulla GPU?",[36,37,41,42],"Sotto le stesse tre lettere si vendono due cose molto diverse.",{"list":38},[39,40],"**I solutori nativi GPU** spostano sulla scheda l’intera iterazione: assemblaggio, soluzione lineare, gradienti, tutto. Il solutore GPU di Fluent funziona così, e anche altri codici commerciali offrono ormai solutori nativi GPU. Da qui vengono le grandi accelerazioni.","**Lo scarico su GPU** lascia il solutore sulla CPU e manda alla scheda una sola parte costosa, di solito il sistema lineare della pressione. Aiuta, e il resto del ciclo gira ancora alla velocità della CPU.","Il primo tipo richiede un cambio di mentalità. Il solutore GPU di Fluent legge lo stesso file di caso del solutore CPU, ma è un’implementazione separata. Gestisce solo casi 3D. Offre un solo schema per i gradienti, Least Squares Cell Based. Il suo schema di pressione Linear è diverso dalla versione CPU, e secondo Ansys è più accurato su mesh non uniformi. Calcola in precisione singola o doppia. Tutto questo è documentato, e insieme fa del calcolo su GPU una seconda impostazione numerica del tuo problema, vicina alla prima e leggermente diversa.","È tutto l’argomento di questo articolo, quindi lo dico una volta sola. Una nuova impostazione numerica si guadagna la fiducia come qualsiasi altra, concordando con un riferimento su un caso che capisci.",{"id":44,"title":45,"paragraphs":46},"how-much-faster","Quanto è più veloce, onestamente?",[47,48,49,50],"Le cifre di accelerazione sono come i dati di consumo delle auto. Sono reali, sono state misurate, e sono state ottenute su un percorso che non guiderai mai.","SimuTech Group ha calcolato in Fluent un caso stazionario di scambio termico coniugato di circa 16 milioni di celle e ha confrontato una scheda NVIDIA RTX 6000 con nodi CPU. Contro 16 core la GPU era circa 2,5 volte più veloce dei processori AMD e 3,5 volte più veloce di quelli Intel. Contro 96 e 128 core hanno vinto le CPU. Una scheda di fascia media contro un piccolo calcolo CPU è una vittoria netta; la stessa scheda contro un calcolo CPU ben dimensionato è una sconfitta.","I benchmark dei fornitori con più GPU e mesh da centinaia di milioni di celle riportano accelerazioni molto più grandi. I casi più piccoli guadagnano meno, perché le parti del calcolo che si parallelizzano male occupano una quota maggiore del tempo.","Entrambi i tipi di risultato sono onesti, e rispondono a domande diverse. Quando vedi un’accelerazione, chiedi qual era il riferimento, quanto era grande la mesh e quale fisica era attiva. Una GPU contro 16 core e otto GPU contro mille core sono affermazioni diverse che per caso condividono un titolo.",{"id":52,"title":53,"paragraphs":54},"will-it-fit","Il mio caso ci sta?",[55,56,57,58,62],"La memoria della GPU è un muro. Un calcolo CPU senza memoria sufficiente rallenta; un calcolo GPU senza memoria sufficiente non parte.","La documentazione di Fluent dà un valore di pianificazione: circa 1 GB di memoria GPU per milione di celle per un caso turbolento su mesh esaedrica in precisione singola. La precisione doppia richiede il 50% in più e una mesh poliedrica dal 20 al 40% in più. Specie chimiche, irraggiamento e altri modelli aggiungono la loro parte, e il valore esatto dipende dal caso.","**Esempio di calcolo.** Un caso turbolento su una mesh poliedrica di 40 milioni di celle, in precisione doppia:",{"formula":59},[60,61],"40 × 1.0 GB × 1.5 × 1.2 = 72 GB","40 × 1.0 GB × 1.5 × 1.4 = 84 GB","Su una scheda da 80 GB si è da qualche parte tra «ci sta a malapena» e «non ci sta affatto», prima ancora di aggiungere una sola specie. La stessa mesh in precisione singola richiede da 48 a 56 GB e ci sta con margine. La scelta della precisione è insieme una decisione di memoria, di costo e di accuratezza, e merita un minuto di riflessione prima di diventare un’impostazione predefinita.",{"id":64,"title":65,"paragraphs":66},"single-precision","La precisione singola basta?",[67,68,69],"Di solito sì, per le grandezze che gli ingegneri riportano. La precisione singola offre circa sette cifre significative. Bastano e avanzano per un campo di velocità o per una perdita di carico di qualche centinaio di pascal. Diventa al limite quando la risposta è una piccola differenza tra due numeri grandi: pochi pascal di perdita di carico sopra dieci bar, un decimo di grado in un solido a 400 K, un piccolo flusso termico netto tra due flussi grandi.","I solutori ti proteggono già nel caso più comune lavorando con la pressione relativa rispetto a una pressione operativa. Imposta quella pressione operativa con buon senso e gran parte del rischio sparisce. Per il resto, la verifica descritta più avanti ti dirà, sul tuo caso, se la precisione conta.","In pratica emerge un altro effetto. Nel confronto di SimuTech la GPU calcolava in precisione singola e la CPU in doppia, e la GPU ha avuto bisogno di più iterazioni per convergere, con temperature quasi identiche alla fine. Confronta quindi il tempo reale fino a una risposta convergente. Un’iterazione più veloce di cui ne servono il doppio è un guadagno più piccolo di quanto sembri.",{"id":71,"title":72,"paragraphs":73},"cost-per-case","Un solutore CFD su GPU costa meno per caso?",[74,75,79,80,81],"Il conto è semplice, e si fa di rado.",{"formula":76},[77,78],"C = r × t","C_GPU \u003C C_CPU  ⇔  S > r_GPU \u002F r_CPU","Qui C è il costo di un caso, r la tariffa oraria dell’hardware, t il tempo reale fino a una risposta convergente e S = t_CPU \u002F t_GPU l’accelerazione misurata sul tuo caso.","**Esempio di calcolo con tariffe inventate.** Supponi che un nodo GPU costi all’ora quattro volte le risorse CPU che il tuo team usa di solito. Allora la GPU deve essere almeno quattro volte più veloce sul tuo caso solo per andare in pari. A 2,5 volte più veloce costa di più per caso e consegna la risposta prima. A 8 volte più veloce costa la metà e consegna prima. Entrambe possono essere la scelta giusta. Più veloce e più economico sono domande separate, e un progetto in ritardo paga volentieri la prima.","Tre costi si nascondono fuori dalla formula. Il tempo in coda, spesso più lungo del tempo di calcolo su un cluster condiviso. Il modo in cui la licenza del software conta l’hardware GPU, da chiarire con il fornitore prima di pianificarci sopra. E il costo una tantum di verificare l’impostazione GPU per ogni famiglia di casi, che è l’argomento delle prossime due sezioni.",{"id":83,"title":84,"paragraphs":85},"what-differs","Che cosa fa di diverso il solutore GPU?",[86,87,97,98],"Ansys pubblica a ogni rilascio una pagina con le limitazioni del solutore GPU di Fluent. Leggerla per 2025 R2 e 2026 R1 è istruttivo. Eccone una selezione, con ciò che ogni punto comporta per te:",{"list":88},[89,90,91,92,93,94,95,96],"**Livello di pressione nelle regioni incomprimibili chiuse.** In una regione chiusa, incomprimibile e stazionaria il solutore GPU conserva la pressione media volumetrica iniziale, mentre il solutore CPU fissa la pressione a zero in una cella di riferimento. I campi risultano traslati, e Ansys nota che ciò può influire sugli integrali delle forze su corpi la cui superficie non è chiusa. Uno scostamento costante della portanza tra i due solutori porta qui per primo.","**Segno della portata alle interfacce non conformi.** I monitor di portata su tali interfacce possono stampare il segno sbagliato. Il bilancio di massa sembra disastroso mentre il flusso va bene.","**Report di portata sulle superfici.** La pagina delle funzioni supportate per 2025 R2 dice che il solutore GPU riporta correttamente la portata massica solo sulle zone interne e riporta zero per le altre. Un’uscita che mostra 0 kg\u002Fs è un limite del report. Il condotto sta bene.","**Pressione dinamica sulle pareti ferme.** Il monitor mostra correttamente zero, mentre i report usati come parametri di uscita mostrano un valore non nullo errato.","**Limitazione del rapporto di viscosità turbolenta.** Il rapporto viene limitato alla stessa soglia della CPU, senza alcun messaggio in console. Il solutore CPU ti avvisa quando limita. Il solutore GPU se lo tiene per sé.","**Inizializzazione.** L’inizializzazione ibrida con condizioni di pressione di campo lontano può non convergere o dare un flusso uscente non fisico, e Ansys raccomanda l’inizializzazione standard. Avviare un calcolo transitorio da una soluzione stazionaria non funziona correttamente quando si risolve l’equazione dell’energia; esiste una soluzione alternativa documentata.","**Riavvii tra solutori.** Una soluzione GPU con materiale comprimibile ed equazione dell’energia non riparte correttamente sul solutore CPU.","**Impostazioni non supportate in vecchi file di caso.** I modelli che il solutore GPU non supporta sono nascosti nell’interfaccia o marcati Unsupported. Impostati dall’interfaccia testuale, vengono segnalati come ignorati, convertiti o non supportati. Un file di caso CPU che si basava su uno di essi gira lo stesso, e solo il log del calcolo ti dice che cosa ne è stato.","E la lista cambia. La pagina 2025 R2 diceva che il flusso supersonico agli ingressi in pressione, agli ingressi in velocità e alle uscite in pressione viene trattato come subsonico. La pagina 2026 R1 non riporta più quel punto e ne aggiunge altri, come un limite di 20 specie e l’incompatibilità del modello flamelet generated manifold con mezzi porosi e sistemi di riferimento in moto.","Niente di tutto questo è uno scandalo. Ogni punto è scritto nero su bianco, il che è più di quanto si possa dire di certi comportamenti dei solutori CPU che ho incontrato. Il guaio è che quasi tutti leggiamo le note di rilascio come le condizioni di un contratto telefonico. Leggi la pagina della versione esatta che usi, ogni volta che cambia.",{"id":100,"title":101,"paragraphs":102},"how-to-check","Come verificherei un risultato su GPU",[103,104,113,114,115],"Un pomeriggio per famiglia di casi, da ripetere quando cambia la versione del solutore o la fisica.",{"list":105,"ordered":112},[106,107,108,109,110,111],"**Scegli un caso ridotto della famiglia.** Stessa fisica, stesso tipo di mesh, stessi tipi di condizioni al contorno, abbastanza piccolo da girare su entrambi i solutori in poche ore.","**Calcolalo su CPU in precisione doppia fino a una convergenza stretta.** Monitora le grandezze che riporterai e controlla i bilanci di massa ed energia, come in qualsiasi studio.","**Calcolalo su GPU con le impostazioni che userai in produzione,** precisione compresa. Provare la precisione doppia e poi calcolare in singola significa provare la cosa sbagliata.","**Leggi il log del calcolo GPU** cercando tutto ciò che è stato ignorato, convertito o non supportato.","**Confronta le grandezze di interesse, i bilanci e un profilo lungo una linea** nella zona che conta.","**Giudica la differenza rispetto al tuo errore di discretizzazione.** Due solutori non coincidono mai esattamente, quindi lo zero è il metro sbagliato.",true,"L’ultimo passo è quello che si salta. La domanda è se i due solutori differiscono più di quanto tu accetti già dalla mesh.","**Esempio di calcolo.** Supponi che lo studio di mesh abbia dato un indice di convergenza di griglia del 3% sulla perdita di carico. Se i risultati GPU e CPU differiscono dello 0,4%, la differenza è rumore accanto all’incertezza che già riporti, e l’impostazione GPU va bene per quella famiglia. Se differiscono del 2,5%, la scelta del solutore pesa quasi quanto tutta l’incertezza di mesh, e devi capirne il motivo prima di usarla: la precisione, lo schema di pressione o un’impostazione ignorata. I numeri sono illustrativi; conta la logica.","Se non hai mai fatto uno studio di mesh su quella famiglia, il confronto GPU non ha basi, quindi parti da lì. L’esempio di calcolo nell’articolo sull’indipendenza dalla mesh di questo blog richiede più o meno lo stesso pomeriggio.",{"id":117,"title":118,"paragraphs":119},"common-mistakes","Errori comuni, come appaiono sullo schermo",[120],{"list":121},[122,123,124,125,126,127],"**Uno zero all’uscita.** Il calcolo GPU indica che nessuna massa lascia il dominio. È un limite del report; controlla con una superficie interna prima di rifare la mesh.","**Uno scostamento costante di forza o pressione** tra calcoli GPU e CPU di un caso incomprimibile chiuso. È una differenza di livello di pressione, e conta per le forze su superfici aperte.","**«Converge in metà tempo»**, misurato per iterazione mentre il numero di iterazioni è raddoppiato. Misura il tempo fino a una grandezza di interesse convergente.","**Un riferimento di 16 core nel business case.** Se il calcolo CPU che esegui davvero usa 128 core, confronta con quello.","**Memoria esaurita all’inizializzazione** su una mesh poliedrica dimensionata con la regola empirica degli esaedri. Aggiungi il 20 o 40%.","**Cambi di modello silenziosi** da un vecchio file di caso. Leggi il log.",{"id":129,"title":130,"paragraphs":131},"what-i-would-do","Che cosa farei",[132,133,134,135],"Sposterei una famiglia di casi su GPU quando i casi sono grandi, la fisica rientra nella lista supportata per la mia versione e il lavoro comporta molti calcoli: esplorazioni di progetto, flussi d’aria transitori, scambio termico coniugato su grandi assiemi, calcoli a risoluzione di scala prima inaccessibili. In queste condizioni la velocità cambia ciò che puoi studiare, e questo conta più del costo per caso.","Resterei su CPU per studi singoli con fisica insolita, per casi che richiedono modelli fuori dalla lista supportata, per mesh piccole dove una buona dotazione CPU dà già la risposta in un’ora, e per qualsiasi flusso di lavoro che riavvia i casi da un solutore all’altro.","E noleggerei prima di comprare. Un nodo GPU per un giorno, la verifica del pomeriggio descritta sopra su un caso che conosco bene, e avrei la mia cifra di accelerazione, misurata sul mio percorso.","Se calcoli già su GPU e vuoi un secondo parere sul fatto che i risultati corrispondano a quelli che dava la tua catena CPU, si tratta di una revisione del modello, uno degli incarichi più piccoli descritti nelle pagine dei servizi.",[137,140,143,146,149],{"href":138,"label":139},"https:\u002F\u002Fansyshelp.ansys.com\u002Fpublic\u002FViews\u002FSecured\u002Fcorp\u002Fv252\u002Fen\u002Fflu_ug\u002Fflu_ug_sec_gpu_solver_limitations.html","Ansys Fluent User’s Guide, Release 2025 R2: Fluent GPU Solver Limitations",{"href":141,"label":142},"https:\u002F\u002Fansyshelp.ansys.com\u002Fpublic\u002FViews\u002FSecured\u002Fcorp\u002Fv261\u002Fen\u002Fflu_ug\u002Fflu_ug_sec_gpu_solver_limitations.html","Ansys Fluent User’s Guide, Release 2026 R1: Fluent GPU Solver Limitations",{"href":144,"label":145},"https:\u002F\u002Fansyshelp.ansys.com\u002Fpublic\u002FViews\u002FSecured\u002Fcorp\u002Fv252\u002Fen\u002Fflu_ug\u002Fflu_ug_sec_gpu_solver_supported_features.html","Ansys Fluent User’s Guide, Release 2025 R2: Features Supported by the Fluent GPU Solver",{"href":147,"label":148},"https:\u002F\u002Fansyshelp.ansys.com\u002Fpublic\u002FViews\u002FSecured\u002Fcorp\u002Fv242\u002Fen\u002Fflu_ug\u002Fflu_ug_sec_gpu_solver_gpu_memory.html","Ansys Fluent User’s Guide, Release 2024 R2: GPU Memory Usage",{"href":150,"label":151},"https:\u002F\u002Fsimutechgroup.com\u002Fresources\u002Fblog\u002Fcpu-vs-gpu-which-is-better-for-cfd-simulation\u002F","SimuTech Group (updated 2026): CPU vs GPU computing, which is better for CFD simulation?",1792438040267]