Upload
idranslide
View
105
Download
3
Embed Size (px)
Citation preview
Workshop – Roma 24 ottobre 2014
Modellazione Idraulica 2D 100X più veloce con RiverFlow2D Plus GPU
Reinaldo Garcia, PhD
Modellazione Idraulica 2D 100X più veloce:
Una realtà tramite RiverFlow2D Plus GPU
Reinaldo Garcia, PhD Director or Model Development
Hydronia, LLC
A. Lacasta Computational Hydraulics Group
University of Zaragoza
(c) COPYRIGHT 2011-2014 Hydronia LLC.
ALL RIGHTS RESERVED. THIS PRESENTATION AND ITS CONTENT IS PROTECTED BY U. S. COPYRIGHT LAW.
Questa presentazione è stata tradotta in italiano ed adattata dalla
IDRAN S.r.l. a partire dalla versione originale mantenendo tutti i diritti
della Hydronia LLC riservati
Novità Novità del 2014: • febbraio: Modulo di Trasporto di Sedimenti • aprile: Modulo Trasporto di Contaminanti • maggio: Aggiornamento del modello GPU (10-15% più veloce della precedente
versione) • agosto: PONTI E PARATOIE • RiverFLO-2D Plus RiverFlow2D • OilFlow2D: dispersione di idrocarburi in terra In fase di sviluppo: • Dispersione di idrocarburi in acqua • Modello Idrologico: pioggia spazialmente distribuita, infiltrazione: GA, CN, Horton • Azione tangenziale del vento su superfici (FV) • Modulo 1D/2D • Modulo GPU più veloce • RiverFlow2D nella «nuvola» (versione Cloud)
Red River of the North USA Lavoro svolto nell’ambito di un accordo per attività di ricerca e sviluppo tra Hydronia-NOAA CRADA,
650 km
1,070,000 celle
Idrogramma di 40 giorni
RiverFlow2D GPU
2 ore di tempo computazionale.
Applicazioni 2D del Modello Idraulico
Tratti fluviali più lunghi
10-100 km
Griglie a maggiore risoluzione
Diversi milioni di celle
Tempi di simulazione più lunghi
Giorni, mesi, anni
Girate per scenari multipli
La parallelizzazione dei codici per utilizzo con PC a processori multipli é il metodo principale per
velocizzare i modelli
Parallelizzazione del Codice
• Memoria condivisa: OpenMP
• Memoria distribuita: MPI
• Unità di processamento grafico: GPU CUDA, OpenCL
• La parallelizzazione è virtualmente impossibile per la maggior parte dei modelli esistenti
Problematiche per la parallelizzazione • Molti modelli esistenti sono virtualmente
impossibili da parallelizzare
• Sono stati programmati per vecchi processori
• Spaghetti code
RiverFLO-2D
• Modello 2D per acque poco profonde
• Strutture idrauliche, trasporto di sedimenti, ecc.
• Motore parallelizzato (OpenMP®) agli Elementi Finiti
• Griglia triangolare irregolare e flessibile
• Pre e Post-processori semplici: Argus ONE/SMS
RiverFLO-2D
(FE)
RiverFlow2D Plus
RiverFLO-2D RiverFlow2D
Plus
• Motore Parellelizzato (OpenMP®) ai Volumi Finiti
• Griglia triangolare irregolare e flessibile
• Stessi Pre e Post-processori
• Alta precisione (Errore di cons. volume << 10-12 % )
La parallelizzazione in multipli processori non è sufficiente
Numero di processori é limitato: 4, 6, 12…
Molte volte la parallelizzazione in Open MP non è scalabile
Unità di Processamento Grafico: GPU
• Progettate per accelerare la creazione di immagini da
mostrare in un display.
• La struttura altamente parallelizzata dei GPU moderni li fa più efficaci rispetto ai CPU generici se si deve processare algoritmi con una grande quantità di informazioni.
• GPU è normalmente presente su schede grafiche.
• Al contrario di un CPU, il GPU esegue lentamente molti thread simultaneamente piuttosto che eseguire un singolo thread velocemente
RiverFlow2D Plus GPU
RiverFLO-2D RiverFlow2D
Plus RiverFlow2D
Plus GPU
• Motore ai Volumi Finiti GPU
• Griglia triangolare irregolare e flessibile
• Stessi Pre e Post-processori
• Alta precisione (Errore di cons. volume << 10-12 % )
• Calcoli più veloci (>100x accelerazione)
RiverFlow2D Plus GPU
RiverFLO-2D RiverFlow2D
Plus RiverFlow2D
Plus GPU
• Diversi prodotti commerciali basati su tecnologia GPU sono stati rilasciati
• GPU fornisce un processore multi-core (Permette di effettuare calcoli più veloci!)
• Molti implementano la tecnologia GPU unicamente per modelli molto grandi a celle rettangolari utilizzando tecniche numeriche molto semplici (utilizzando a volte Precisione Singola)
Il nostro obiettivo è quello di «accelerare» piccole e grandi
griglie
…garantendo una elevata precisione
Green River • Griglia1 19,079 celle
• Griglia2 154,880 celle
• Griglia 3 1,878,607 celle
• Idrogramma di 2 ore
Idrogramma Q = 44,000 cfs
Flusso uniforme
River in California
• 357,611 celle
• 326,082 cfs
• Idrogramma di 7 giorni Uscita libera
0
50000
100000
150000
200000
0 50 100 150 200
0
50000
100000
150000
200000
0 50 100 150 200
Incremento della Produttività
Assumendo che per un progetto si sviluppino in media 10 scenari/progetto, si risparmierebbe in termini di tempo:
1400 ore / 58 giorni
NVIDIA GTX Titan Black • 2880 CUDA Cores
• 6 Gb Memory
• US$950
• Con le ultime ottimizzazioni dell’algoritmo utilizzando questa nuova scheda é stata raggiunta una soglia di «accelerazione» di 100X
GTX 780, 12.05
Tesla c2075, 21.48
Tesla k20, 20.58
Titan Black, 15.44
GTX 780, 44.30
Tesla c2075, 39.19
Tesla k20, 56.09
Titan Black, 58.22
GTX 780, 79.85
Tesla c2075, 50.26
Tesla k20, 84.93
Titan Black, [VALUE]
0.00 20.00 40.00 60.00 80.00 100.00 120.00
GTX 780
Tesla c2075
Tesla k20
Titan Black
RiverFlow2D GPU Speedup Tests 1,878,607
154,880
19,079
NVIDIA GPU CARD Number of cells
RiverFlow2D Plus GPU Attualmente disponibile
Motore idrodinamico base
Strutture idrauliche
Prossimamente: versione GPU per:
Trasporto di sedimenti
Colate detritiche e di fango
Trasporto di contaminanti
Simulazione di dispersione di idrocarburi in terra
• Terreni complessi
• Flusso viscoso
• Eventi istantanei
• Multipli scenari
• Migliaia di girate
OilFlow2D • RiverFlow2D +
• Griglia flessibile
• Celle triangolari
• Flusso viscoso a pelo libero
• Viscosità e densità degli idrocarburi
• GIS-GUI
• Collaborazione Hydronia / Università di Zaragoza R&D
OilFlow2D/3D in «acqua»
• OilTrack: modello commerciale 1996-2001 • Simula traiettorie di fuoriuscite di idrocarburi e il
comportamento in acque superficiali • Il campo di flusso viene simulato con una griglia
triangolare flessibile • La dispersione viene concettualizzata come un
insieme di molte «chiazze» che si muovono in uno spazio tridimensionale
• Ogni «chiazza» ha diverse proprietà: massa, viscosità, ecc. che possono variare nel tempo e nello spazio
Comportamento della dispersione
• Si prendono in considerazione diversi processi fisico-chimici: – Evaporazione – Emulsificazione – Dispersione – Dissoluzione – Sprofondamento – Interazione con la costa
• Il modello calcola le variazioni delle proprietà dell’idrocarburo (ecc. viscosità) nel tempo e nello spazio
Base Dati • Base dati su scala mondiale
• Proprietà fisiche di diversi tipi di idrocarburi
• Utilizzata per calcolare evaporazione, emulsificazione, ecc. durante la simulazione
• OilFlow2D (acqua) sarà rilasciato nella prima metà del 2015
RiverFlow2D: Modello di Trasporto di Contaminanti
• Trasporto di sostanze dissolte e analisi termico in corpi d’acqua
• Simulazione avanzata di avvezione-dispersione-reazione, incluso il decadimento
• Multipli contaminanti
• Multipli opzioni di visualizzazione e output
Modello di Trasporto di Contaminanti
• Avvezione-Dispersione-Reazione
• C: concentrazione del contaminante mediata nel tirante
• Dxx, Dyy : coefficienti di dispersione
𝜕
𝜕𝑡ℎ𝐶 +
𝜕
𝜕𝑥ℎ𝐶𝑈𝑥 +
𝜕
𝜕𝑦ℎ𝐶𝑈𝑦 −
𝜕
𝜕𝑥ℎ𝐷𝑥𝑥
𝜕𝐶
𝜕𝑥−
𝜕
𝜕𝑦ℎ𝐷𝑦𝑦
𝜕𝐶
𝜕𝑦= 𝑆
Concentrazione Totale N dal punto di scarico
Treatment Plant Discharge
Trou-du-Nord River Discharge
0
0.5
1
1.5
2
2.5
3
3.5
0 50 100 150 200 250 300 350
Tota
l N (
mg/
l)
Distance (m)
0 m3/s
1 m3/s
5 m3/s
20 m3/s