Abaqus con accelerazione tramite GPU

Inizia subito con questa guida per applicazioni basate su GPU.

Abaqus Standard

Abaqus/Standard incorpora una tecnologia ideale per eventi statici e dinamici a bassa velocità in cui le soluzioni di sollecitazione molto precise sono particolarmente importanti. Alcuni esempi di impiego: pressione sigillante nei giunti con guarnizione, rotolamento regolare dei pneumatici e propagazione delle rotture nelle fusoliere di aeroplani in materiali compositi. Con Abaqus è possibile analizzare un modello nel dominio del tempo e della frequenza con un'unica simulazione.

Abaqus/Standard è 3,7 volte più veloce nei sistemi con accelerazione tramite GPU NVIDIA rispetto ai sistemi che si basano solo sulla CPU, per cui consente di eseguire un maggior numero di simulazioni ad elementi finiti in una sola giornata, incrementando la produttività.

Leggi il white paper sull'accelerazione delle simulazioni con Abaqus tramite GPU NVIDIA. Scopri i risultati dell'accelerazione tramite GPU NVIDIA con Abaqus/Standard FEA Solver per Dassault Systèmes qui.

Abaqus è 3,7 volte più veloce sulle GPU

Installazione

Istruzioni di download e di installazione

Abaqus standard (versione R2017x) può essere scaricato dal sito Web 3ds SIMULIA; di seguito sono fornite brevi istruzioni per l'installazione:

1. Scaricare i file "tar" ed estrarre il contenuto di questi archivi tar in un'unica directory. In tal modo, viene creata una singola sottodirectory denominata "AM_SIM_Abaqus_Extend.AllOS", contenente il software di installazione.

2. Eseguire lo script tramite shell ed eventualmente installare la documentazione, la licenza e le applicazioni rimanenti nell'ordine corretto descritto nella Guida all'installazione.

Token di licenza Abaqus — Risparmio notevole

La licenza Abaqus è basata su token, per cui consente di eseguire svariate analisi Abaqus, di utilizzare modelli di simulazione di edifici Abaqus/CAE e di analizzare i risultati. Il numero di token è calcolato in base al numero di core di CPU utilizzate per l'esecuzione della simulazione. Abaqus utilizza la seguente formula della funzione di decadimento per determinare il numero di token. In questa formula, N è il numero di core di CPU.

Il grafico seguente illustra questa equazione evidenziando l'aumento del numero di token di licenza Abaqus con l'aumento del numero di core.

Aumento dei token di licenza Abaqus con l'aumento del numero di core.

La curva blu rappresenta il caso in cui si utilizza solo la CPU, mentre quella verde rappresenta il caso in cui si utilizza sia la CPU che la GPU. Il motivo scalettato di queste curve illustra il decadimento dell'aumento del numero di token richiesti con l'aumento del numero di core di CPU. Quando si include una GPU nella simulazione, viene contato come singolo core di CPU allo scopo di calcolare il numero di token richiesti. Questa modalità di conteggio di una GPU è rappresentato dalla curva scalettata verde con il conteggio dei core CPU+GPU sull'asse X secondario superiore.

La convenienza dell'uso di GPU per le simulazioni è illustrata dalle due serie di configurazioni di calcolo indicate dalle linee tratteggiate
nella Figura:

  • La prima linea tratteggiata sull'indicazione 8 core sull'asse X principale indica che per 8 core di CPU occorrono 12 token. Se si include una GPU nell'esecuzione della simulazione, il conteggio dei core di CPU è 9 ma il numero di token rimane 12, come illustrato dal singolo puntino rosso.
  • La seconda linea tratteggiata sull'indicazione 16 core sull'asse X principale indica che per 16 core di CPU occorrono 16 token. Aggiungendo 1 o 2 GPU ai 16 core di CPU, il conteggio dei core di CPU aumenta rispettivamente a 17 o 18, ma il numero di token rimane 16, come illustrato dalla coppia di puntini rossi.

Il motivo scalettato mostra fasi più ampie con l'aumento dei core per entrambe le curve, evidenziando la convenienza quando vengono utilizzati più core di CPU. Il vantaggio è notevolmente superiore quando invece di aggiungere CPU si utilizzano GPU.

Esecuzione di processi

Per eseguire la simulazione Abaqus su GPU, nella riga di comando è necessario includere il flag -gpus. Dalla Release 6.14 in poi, la funzione di divisione DMP (DMP e SMP) può essere abbinata all'accelerazione tramite aggiungendo il flag -threads o il flag -mp_host_split con il flag -gpus.

$Abaqus_2017 -interactive -j $nome_processo -inp $nome_file_input -cpus $n_di_core_cpu -gpus
$n_di_gpu_per_dmp -mp_host_split $n_di_dmp_per_nodo >& $file_output

Flag e funzioni

1. -cpus: specifica il numero di core di CPU per il progetto.

2. -gpus specifica il numero di GPU per ogni processo dmp.

3. -mp_host_split: specifica il numero di processi dmp per ogni nodo.

4. -thread: questo flag può essere utilizzato invece del flag -mp_host_split e specifica il numero di thread per ogni processo dmp.

Dalla versione di Abaqus del 2016 in poi, non occorre più impostare le GPU in modalità esclusiva. Ciononostante, è sempre preferibile controllare se le GPU sono eccessivamente sottoscritte quando vengono eseguiti più processi Abaqus. In tal caso, impostare le GPU in modalità esclusiva per indirizzare i processi DMP a GPU separate. Per impostare le GPU in modalità esclusiva, utilizzare il seguente comando nvidia-smi:

$nvidia-smi -c 3

Con una macchina a due CPU, creare due processi DMP e utilizzare due GPU, una per ogni processo DMP.

Utilizzare, inoltre, un file _v6.env locale con il seguente contenuto nella directory project/run per sovrascrivere e specificare comandi supplementari per incrementare le prestazioni.

# Overwrite files without questions
ask_delete=OFF
# Modify the Host List based on the number of Compute Nodes Used and
specify the CPU cores per node accordingly
# Set mpi CPU affinity mode at socket granularity
mp_mpirun_options = “-prot -aff:automatic:bandwidth:socket”
import os
os.environ['ABA_SRM_BALANCED']='ON'

Benchmark

Ogni scheda Tesla P100 include una singola GPU Pascal e ogni scheda Tesla K80 include due GPU Kepler. Le esecuzioni avvengono utilizzando alcune varianti delle righe di comando o degli ambienti per versioni Abaqus differenti. Per le impostazioni dell'ambiente e altre configurazioni, consultare il white paper sul calcolo Abaqus con GPU NVIDIA.

Prestazioni di Abaqus/Standard 2017 su sistemi CPU e GPU NVIDIA

Configurazioni del sistema consigliate

Configurazione hardware

Workstation

Parameter
Specs

CPU Architecture

x86

System Memory

48 GB or more

Disk

Minimum 500 GB

CPUs

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

GPU Model

Quadro GP100 for double precision compute

GPUs

1

Servers

Parameter
Specs

CPU Architecture

x86

System Memory

96-192GB

CPUs/Nodes

2 (8+ cores, 2+ GHz)

Total # of Nodes

1-10+

GPU Model

Tesla P100

GPUs/Node

1

Interconnect

Infiniband

Crea la tua soluzione GPU ideale oggi stesso.