ANSYS Fluent accelerato da GPU:

Inizia subito con questa guida per applicazioni basate su GPU.

Ansys Fluent

ANSYS Fluent è uno strumento software progettato per eseguire simulazioni di fluido dinamica computazionali (CFD). Include le ampie capacità di modellazione fisica necessarie per modellare flussi, turbolenze, trasferimenti di calore e reazioni per le applicazioni industriali. È utilizzato in molti segmenti industriali, come il settore aerospaziale, automobilistico, nei dispositivi medicali, nei macchinari e nella produzione di semiconduttori.

Il software ANSYS Fluent supporta il calcolo di solutori con le GPU NVIDIA. Questo aiuta gli ingegneri a ridurre i tempi necessari per esplorare diverse variabili di progettazione e a ottimizzare le prestazioni del prodotto rispettando le scadenze. I modelli algebrici radiativi di trasferimento del calore e di solutori multigriglia, tra cui il modello di calcolo radiativo delle ordinate discrete (DO) e il modello S2S viewfactor, ora sono accelerati da GPU. Le applicazioni industriali tipiche includono simulazioni di aerodinamica esterna, flusso di fluidi interno e raffreddamento.

Ansys Fluent è fino al 3,7 volte più veloce su GPU

Ansys Fluent è fino a 3,7 volte più veloce su GPU, riducendo dinamicamente i tempi necessari per giungere alle soluzioni, da settimane a pochi giorni.

Oltre ad accelerare la simulazione, le GPU aiutano a ridurre il costo totale di proprietà rispetto a una soluzione unicamente basata su CPU, garantendo maggiore produttività e prestazioni per singolo watt.

Installazione

Come installare Ansys Fluent

DOWNLOAD E INSTALLAZIONE

Ansys Fluent, può essere scaricato dal sito web Ansys Customer Portal. Di seguito è disponibile una breve guida all'installazione. La versione 18.1 è la più recente al momento in cui viene scritta questa guida. Visita il sito di Ansys per verificare se è disponibile una versione più recente.

1. Scaricare il file FLUIDS_181_LINX64.tar ed estrarre i contenuti in una singola directory. Verrà creata la sottodirectory "FLUIDS_181_LINX64" contenente il software di installazione.

2. Eseguire INSTALL in modalità silenziosa come descritto nella guida di installazione.

Il comando INSTALL -silent -install_dir -fluent
-silent avvia l'installazione silenziosa e -install_dir specifica la directory in cui Fluent verrà installato.

Licenze Ansys

Le GPU sono supportate da tutti i prodotti con licenza ANSYS HPC inclusi ANSYS HPC, ANSYS HPC Pack e ANSYS HPC Workgroup. Ogni GPU viene trattata come un core CPU in termini di licenza, pertanto gli utenti possono ottenere una maggiore produttività tramite le simulazioni della GPU.

Esecuzione dei processi

Esecuzione delle simulazioni

Per eseguire la versione in parallelo delle simulazioni Ansys Fluent sulle GPU, è possibile utilizzare la seguente sintassi in una shell su un sistema Linux:

fluent -g -t -gpgpu= -i >&

Contrassegni e funzioni

  • il comando fluent esegue ANSYS Fluent in modo interattivo
  • -g indica che il programma viene eseguito senza GUI o grafica
  • specifica la versione 3d o 3ddp di ANSYS Fluent
  • specifica il numero totale di processori CPU nei computer/nodi
  • specifica il numero di GPU per computer/nodo disponibile in modalità parallela. Il numero di processi per computer deve corrispondere su tutti i computer e il valore ngpgpus deve essere tale che il numero di processi per computer sia un numero intero multiplo del valore ngpgpus. Ovvero, per i processi di solutori nprocs eseguiti su M computer con ngpgpus GPU per computer, si dovrà ottenere:
    • (nprocs) mod (M) = 0
    • (nprocs/M) mod (ngpgpus) = 0
  • specifica il nome del file journal o file di input.
  • specifica il nome del file di output. Il file viene creato dal processo in background e contiene l'output che ANSYS Fluent produce di norma sullo schermo (ad esempio, i comandi del menu e i report residuali).

Il file Journal contiene la sequenza di comandi ANSYS Fluent che sono identici a quelli che l'utente digita in modo interattivo. È possibile aggiungere commenti nel file preceduti da un punto e virgola a inizio riga.

An example journal file is shown below:
----------------------------------------------------------------------------------------------------------
; Read case file
/file/read-case sample.cas.gz
;Change Solution Scheme from Segregated (SIMPLEC)(21) to Coupled(24)
/solve/set/p-v-coupling 24
; Switch the AmgX GPU Aggregator size from default 2 to 4
/solve/set/amg-options/amg-gpgpu-options/pressure-coupled
yes
0.1
"FGMRES"
20
4
0
3
"ILU"
; Initialize Solution
/solve/initialize/initialize-flow
; Run Iterations
/solve/iterate 100
; Performance Timer Statistics for Iterations
/parallel/timer/usage
; Exit Fluent
exit yes
----------------------------------------------------------------------------------------------------------

Modelli idonei per l'accelerazione con GPU

ACCELERAZIONE DEL SOLUTORE AMG

NVIDIA collabora con ANSYS per sviluppare una libreria AMG accelerata da GPU, scalabile, solida e ad alte prestazioni. La libreria si chiama AmgX (che significa AMG accelerata). Fluent usa AmgX come solutore lineare predefinito e sfrutta la GPU basata su CUDA quando ne rileva una.  AmgX è anche in grado di utilizzare MPI per collegare cluster di server e risolvere problemi molto complessi che richiederebbero decine di GPU. Se abilitata, è possibile utilizzare l'accelerazione con GPU per i calcoli AMG su sistemi lineari con fino a 5 equazioni accoppiate con requisiti di calcolo che aumentano in proporzione al numero di celle nel dominio. I problemi che contengono meno di qualche milione di cellule non vengono accelerati dalle GPU a causa del carico di comunicazione necessario per trasferire le matrici da o verso le CPU. Tuttavia, l'aumento di velocità è significativo per mesh che contengono decine e centinaia di milioni di celle perché il carico è relativamente piccolo rispetto al tempo di elaborazione dl solutore AMG.

I solutori accoppiati sono quelli che traggono maggiore vantaggio dall'uso delle GPU. Nei problemi che riguardano unicamente il flusso, di norma il solutore accoppiato dedica circa il 60 o 70 percento del tempo a risolvere il sistema lineare con AMG, il che rende le GPU idonee a questo tipo di calcolo. Poiché il solutore segregato dedica solo dal 30 al 40 percento del tempo in AMG, le GPU potrebbero non risultare vantaggiose a causa dei costi di trasferimento della memoria. Per impostazione predefinita, l'accelerazione con GPU viene applicata automaticamente ai sistemi accoppiati e non ai sistemi scalari perché questi di norma non richiedono capacità di elaborazione costosa. Tuttavia, se si desidera, è possibile abilitare/disabilitare l'accelerazione GPGPU del solutore AMG per sistemi accoppiati e scalari con il seguente comando di testo ed elencare ciascun tipo di equazione supportata in modo da abilitare/disabilitare l'accelerazione GPGPU, scegliendo tra solutori AMG e FGMRES e specificando varie opzioni.

/solve/set/amg-options/amg-gpgpu-options/

 L'accelerazione con GPU non viene utilizzata nei seguenti casi:

  • il modello di bilanciamento popolazione è attivo;
  • il modello euleriano multifase è attivo;
  • il sistema ha più di 5 equazioni accoppiate.

Accelerazione dei calcoli radiativi delle ordinate discrete (DO)

Il solutore radiativo accelerato delle ordinate discrete (DO) è più veloce in termini di elaborazione rispetto al solutore DO standard, soprattutto se utilizzato in parallelo, nonostante possa richiedere un elevato numero di iterazioni da convergere.

Il solutore si basa su OpenACC è può essere eseguito su qualsiasi architettura: CPU o GPU. Il solutore non è al momento compatibile con tutti i modelli e le condizioni limite ma risulta estremamente veloce nei casi in cui è applicabile. I casi che necessitano di una risoluzione molto elevata per discernere le intensità di radiazione traggono i maggiori vantaggi dall'uso del solutore accelerato. La simulazione di proiettori è una delle aree di applicazione in cui il solutore accelerato accelera notevolmente il calcolo.

Dopo aver selezionato il modello DO nella finestra di dialogo Radiation Model (Modello radiativo), è possibile abilitare il solutore DO accelerato utilizzando il seguente comando:

/define/models/radiation/do-acceleration yes

Se le GPU NVIDIA sono abilitate nella sessione di Fluent, questo solutore accelera i calcoli DO utilizzando le GPU. In assenza di GPU, il solutore può comunque essere utilizzato con i core CPU per accelerare i calcoli DO. Si noti che il solutore DO accelerato utilizza lo schema controvento in primo ordine e un fattore di rilassamento esplicito di 1.0.

Il solutore DO accelerato non è compatibili con alcuni modelli e impostazioni. Se necessario, Fluent ripristina automaticamente il solutore DO standard all'avvio del calcolo e mostra un messaggio sul conflitto.

Se si intende utilizzare le GPU con il solutore DO accelerato, si consiglia di eseguire il server multi processo (MPS) di NVIDIA prima di avviare ANSYS Fluent utilizzando il seguente comando:

nvidia-cuda-mps-control -d

Il server migliora la stabilità e le prestazioni dei calcoli con GPU in processi multipli Fluent.​

Accelerazione dei calcoli S2S View Factor

I calcoli View Factor possono essere accelerati grazie all'utility raytracing_acc che usa la libreria NVIDIA Optix per tracciare i raggi. La GPU disponibile sul computer che esegue il processo host viene utilizzata in uno scenario del genere, tranne negli scenari di simulazione mista Windows-Linux dove viene impiegata la GPU su nodo 0. Per utilizzare raytracing_acc occorre una GPU NVIDIA unitamente a CUDA 6.0. Al momento, questa utility è disponibile solo su lnamd64 (Red Hat Enterprise Linux 5/6, e SUSE Linux Enterprise Server 11) e su win64 (Windows 7) per problemi 3D. Per utilizzare l'utility, la libreria CUDA 6.0 deve essere accessibile tramite la variabile di ambiente appropriata (LD_LIBRARY_PATH su lnamd64 o %path% su win64).

Quando si usa l'utility raytracing_acc esternamente a una sessione ANSYS Fluent, la riga di comando è

utility raytracing_acc [output_s2s_file(optional)]

Quando si usa l'utility raytracing_acc internamente alla sessione ANSYS Fluent, utilizzare il seguente comando:

/define/models/radiation/s2s-parameters/compute-clusters-and-vf-accelerated

Benchmark

Questa sezione fornisce i benchmark delle prestazioni previste per diversi modelli su sistemi CPU e GPU.

Prestazioni di Ansys Fluent (camicia di raffreddamento ad acqua) su sistemi CPU e GPU
Prestazioni di Ansys Fluent (carrello di atterraggio Boeing) su sistemi CPU e GPU
Prestazioni di Ansys Fluent (macchina da corsa Formula 1) su sistemi CPU e GPU
Prestazioni di Ansys Fluent (bolide da pista a ruote scoperte) su sistemi CPU e GPU
Prestazioni di Ansys Fluent (vano di carico autocarro) su sistemi CPU e GPU
Prestazioni di Ansys Fluent (radiazione proiettore D0) su sistemi CPU e GPU

Configurazioni del sistema consigliate

Configurazione hardware

Workstation

Parameter
Specs

CPU Architecture

x86

System Memory

128-256GB

Disk

Minimum 500 GB

CPUs

2 CPU sockets (8+ cores, 2+ GHz)

GPU Model

NVIDIA Quadro® GP100 for double precision compute

GPUs

Recommend 1-2 GPU per CPU socket

Servers

Parameter
Specs

CPU Architecture

x86

System Memory

256GB

CPUs/Nodes

2 (8+ cores, 2+ GHz)

Total # of Nodes

1-100+

GPU Model

NVIDIA Tesla® P100

GPUs/Node

Recommend 2 GPU per CPU socket

Interconnect

Infiniband

Crea la tua soluzione GPU ideale oggi stesso