Sei sulla pagina 1di 40

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/270273922

Porting (Cuda/OpenCL) del software MagFlow


per la simulazione dei flussi lavici dell'Etna
(MagFlow Porting Software (Cuda/OpenCL...

Article July 2014

CITATIONS READS

0 127

3 authors:

Giuseppe Bilotta Roberto Spina


University of Catania Ministero dell'Istruzione, dell'Universit e del
45 PUBLICATIONS 306 CITATIONS 2 PUBLICATIONS 0 CITATIONS

SEE PROFILE SEE PROFILE

Emiliano Tramontana
University of Catania
122 PUBLICATIONS 561 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Find refactoring opportunities on large software View project

GPU-computing (OpenCL language) for simulating fractionation of Fe basaltic magmas and the
genesis of high-alumina basalt View project

All content following this page was uploaded by Roberto Spina on 31 December 2014.

The user has requested enhancement of the downloaded file.


PORTING (CUDA/OPENCL) DEL SOFTWARE
MAGFLOW PER LA SIMULAZIONE
DEI FLUSSI LAVICI DELLETNA
MagFlow Porting Software (Cuda/OpenCL)
for Simulation Lava Flows of Etna
Giuseppe Bilotta:
Ricercatore di Informatica, I.N.G.V. sezione di Catania
bilotta@dmi.unict.it
Roberto Spina:
Geologo libero professionista, Dottore in Geologia e Informatica
robertospina@geologi.it
mobile: +39 340 2545644
Emiliano Tramontana:
Professore Aggregato di Informatica, Dipartimento di Matematica
e Informatica, Universit di Catania
tramontana@dmi.unict.it
Tel. +39 095 7383008

Riassunto Abstract

L e simulazioni di fenomeni naturali eseguite GPU computing provides scientists with an advanced
support for the parallel execution of simulations
mediante calcolo parallelo su scheda grafica
concerning natural phenomena. GPUs (graphics
(GPU) costituiscono un settore che offre cards) are especially suited to quickly execute parallel
prospettive interessanti nel campo della ricerca programs, and the support given by Cuda and
scientifica. Leconomicit e i vantaggi prestazionali OpenCL programming languages provides ways to
nellelaborazione di grandi quantit di dati fanno access the GPU capabilities.
del GPU computing una tecnica efficiente per This paper presents the porting from Cuda to OpenCL
of the MagFlow software system. Such a system is
riprodurre fenomeni afferenti a svariate discipline an important application that can provide the forecast
scientifiche (Fisica, Geologia, Biologia, Medicina,...). of lava flows during the effusive phases of the Etna
Questo tipo di computazione supportata dai lin- volcano.
guaggi Cuda e OpenCL, librerie del C/C++, che In addition to the porting, the part of the MagFlow
consentono ad unapplicazione di usare la GPU. code that runs on the CPU (i.e. the host-side
code) has been largely redesigned in order to take
Nel presente lavoro stata effettuata la traduzione
advantage of the object-oriented technology, using
(porting), dal linguaggio Cuda a OpenCL, di un the C++ language. The code that runs on the GPU
importante software, denominato MagFlow, che (i.e. the device-side code), which is based on the
consente di estrapolare il probabile percorso del cellular automaton model, has been ported into
flusso lavico in occasione di eventi effusivi del OpenCL language for two important reasons: OpenCL
vulcano Etna. I ricercatori dellI.N.G.V. di Cata- is an open programming language and is totally
independent of the device type.
nia realizzarono la prima release di MagFlow in Finally, it has been observed that from the
versione sequenziale; dopo qualche anno il codice experimental results of earlier eruptions that it exists a
fu trasformato in versione parallela e implemen- general concordance between real and empirical data.
tata in linguaggio Cuda, in modo da poter essere
eseguito su GPU. Termini Chiave Keywords
Nellultima versione del programma, ampiamente
Unit di elaborazione grafica Graphics Processing Unit
descritta nelle successive pagine, si operata una Flussi lavici Lava flows
ristrutturazione tramite la tecnologia object-oriented Elaborazione parallela Parallel processing
riscrivendo la parte host in C++. La sezione devi- Automa cellulare Cellular automaton

geologia tecnica & ambientale, 2014/2, pp. 9-25 33

GTA 02 - Art 03 Spina mod.indd 33 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

ce, basata sul modello fisico ad automi cellulari, del flusso lavico al fine di predire eventuali rischi
stata reimplementata in linguaggio OpenCL per per i centri abitati prossimali al fronte della co-
un duplice motivo: lata. Per tener conto delle innumerevoli variabili
la caratteristica open del linguaggio gestito dalla fisiche e chimiche del corpo magmatico occorre-
Khronos che, essendo leader dello specifico settore, vano, per, dispositivi in grado di elaborare, in
garantisce standard qualitativi adeguati al mercato; tempi ragionevoli, grandi quantit di dati. In ag-
lestrema portabilit delle applicazioni che ne giunta ai citati parametri intrinseci si aggiunge-
consente lesecuzione in modo indipendente dalle vano anche numerosi fattori estrinseci connessi
caratteristiche del device. alla fisiografia del territorio e alle innumerevoli
La conversione da sequenziale a parallelo fornisce variabili di natura geologica (caratteristiche idro-
guadagni computazionali di quasi due ordini di grafiche, strutturali, geomorfologiche,..), che, nel
grandezza, mentre il porting Cuda/OpenCL mostra complesso, operavano un marcato condiziona-
variazione dei tempi di esecuzione dellordine di mento sulle traiettorie seguite dal flusso lavico.
poche decine di millisecondi. I calcolatori sviluppati alla fine degli anni 90 ri-
Pi volte in passato MagFlow stato utilizzato spondevano a tali requisiti, anche se, le limitate
dalla Protezione Civile di Catania in occasione di capacit elaborative, consentivano la simulazione
eventi vulcanici potenzialmente pericolosi per i dei fenomeni naturali in tempi abbastanza dilatati.
vicini centri abitati; nel complesso si avuta buona Il software preposto a simulare il flusso lavi-
corrispondenza fra dati sperimentali ed empirici. co, denominato MagFlow, nella sua prima versio-
ne fu realizzato con la classica programmazione
PREMESSA sequenziale: in questo stile implementativo le
La successione dei terreni vulcanici affioran- istruzioni del programma venivano eseguite, una
ti nel territorio etneo denotano lEtna come un per volta, dal monoprocessore presente nellela-
classico vulcano-strato: nei depositi lavici mas- boratore. Le limitate risorse hardware (cpu, ram,
sivi derivanti da attivit effusiva si sovrappongo- scheda grafica, hard-disk) non consentivano,
no o, in altri casi, si intercalano, ceneri e sabbie per, una efficiente computazione delle grandi
vulcaniche prodotte dallattivit esplosiva. Un quantit di dati esistenti.
fondamentale contributo ai processi di aggrada- Agli inizi del XXI secolo, lo sviluppo a fini
zione/progradazione delledificio vulcanico et- commerciali (videogiochi, film danimazione) di
neo stato dato, fin dalle prime fasi evolutive, dai architetture molto pi potenti, port ad un consi-
copiosi flussi lavici inerenti allattivit effusiva. stente incremento dei livelli prestazionali. Il bu-
Gi in epoca storica, quando lantropizzazio- siness richiedeva la creazione di schede grafiche,
ne del territorio etneo non era ancora fortemente definite anche GPU (Graphics Processing Unit),
sviluppata, diversi eventi a prevalente compo- in grado di eseguire elaborazioni pi complesse
nente effusiva distrussero interi centri abitati, con effetti sempre pi sofisticati. In tale contesto,
producendo danni ingenti alle coltivazioni. Le si passati ad una versione parallela del software
popolazioni locali sentirono la necessit di mette- MagFlow, implementato attraverso una specifi-
re in atto specifiche contromisure in grado di ri- ca libreria del linguaggio di programmazione C/
durre il rischio derivante dallinvasione di colate C++, denominata Cuda. Essa rappresenta unin-
laviche, cercando di prevederne il probabile per- terfaccia per lesecuzione di programmi paralleli
corso durante il protrarsi dellattivit eruttiva. su GPU che, essendo dotata di centinaia di pro-
Alla fine del XX secolo, grazie ai progressi cessori, consente lelaborazione dei dati in modo
compiuti dalla tecnica, lutilizzo di personal com- pi efficiente e in minor tempo rispetto alla clas-
puter ha rappresentato un potente mezzo per de- sica programmazione sequenziale (il migliora-
terminare, con una certa affidabilit, la direzione mento di circa 2 ordini di grandezza).

34 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 34 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

Uno dei principali problemi della versione modo il carico computazionale viene distribuito
Cuda del software MagFlow rappresentato asimmetricamente, delegando alla GPU lo svol-
dallesistenza di uno specifico vincolo hardware: gimento delle porzioni pi onerose e parallele, e
lesecuzione di software scritti in Cuda pu esse- lasciando alla CPU lelaborazione delle restan-
re effettuata solo su PC dotati di schede grafiche ti parti di codice. Questo tipo di computazione
NVidia. Per superare questa limitazione stata eterogenea in accordo con lipotesi che levolu-
realizzata una versione OpenCL dello stesso pro- zione dei futuri microprocessori e sistemi HPC
gramma. La release, presentata il 28 Novembre (High-Performance Computing) sar incentrata
2013 allUniversit di Catania in occasione della su calcolo sempre pi ibrido ed eterogeneo, sia
discussione del Progetto di Laurea in Informati- dal punto di vista hardware che software.
ca Magistrale (candidato dott. R. Spina, relatore Il calcolo parallelo su GPU viene comune-
prof. E. Tramontana, correlatore prof. G. Bilot- mente utilizzato nellambito della ricerca scien-
ta), stata realizzata utilizzando il linguaggio tifica per simulare fenomeni naturali in tempi
C++, al fine di rendere pi modulare la prece- relativamente brevi: il caso specifico riguarda un
dente versione. In particolare, le fasi di inizializ- software, denominato MagFlow, comunemente
zazione delle risorse hardware e software, che nel utilizzato dalla Protezione Civile e dai ricercatori
linguaggio Cuda possono essere considerate tra- dellINGV di Catania per la simulazione dei pro-
sparenti al programmatore, in OpenCL sono sta- babili percorsi lavici durante gli eventi eruttivi
te reimplementate con la tecnologia object-orien- dellEtna. Lattivit proposta stata focalizzata
ted. Lo stesso criterio stato adottato anche du- sulla riorganizzazione ad oggetti in C++ dellin-
rante il porting Cuda/OpenCL: il codice stato tera applicazione MagFlow e alla traduzione, in
totalmente ristrutturato seguendo i dettami del- OpenCL, delle parti che usavano la sintassi Cuda.
la programmazione orientata agli oggetti. In tal Si prestata particolare attenzione alla fase
modo si raggiunto un duplice obiettivo: da un di progettazione, realizzando diversi diagrammi
lato consentire una facile estendibilit e riusabili- UML: diagramma delle classi, diagrammi di se-
t del programma facilitando la fase di sviluppo e quenza, diagramma delle attivit, diagramma dei
dallaltro favorire lincapsulamento dei dati e una casi duso, diagramma delle attivit con swimla-
pi facile individuazione dei bug, inevitabilmente ne e diagramma degli stati. Unadeguata docu-
presenti nel codice. A ci si aggiunge la specifica mentazione consente, infatti, di facilitare lintero
open del linguaggio OpenCL e lestrema porta- sviluppo e di rendere fruibili, agli sviluppatori, le
bilit del software legata allindipendenza dalla funzionalit e la caratteristiche del sistema. Solo
specifica architettura del device su cui viene ese- alcuni dei diagrammi pi significativi sono stati
guito. Linsieme di questi fattori rende OpenCL riportati nella presente pubblicazione. Inoltre, la
un linguaggio che offre prospettive interessanti fase implementativa stata curata in modo molto
nel campo della ricerca scientifica. dettagliato valutando lefficienza degli algoritmi
oltre alle loro funzionalit.
INTRODUZIONE Nelle pagine successive viene, in primo luogo,
Un settore emergente dellInformatica riguar- definito il contesto in cui si colloca lapplicazio-
da la parallelizzazione del calcolo eseguito su di- ne MagFlow trattando le caratteristiche geolo-
spositivi (device) differenti, che consente di simu- giche dellarea etnea (sismiche, idrogeologiche,
lare fenomeni naturali notevolmente complessi. geomorfologiche, strutturali, vulcaniche,) che
In questa classe di computazioni, denominata determinano un marcato condizionamento nelle
GPU Computing, alla classica CPU si affianca una modalit di deflusso del magma durante le fasi
GPU (unit di elaborazione grafica) per lesecu- attive del vulcano. Lo studio geologico viene con-
zione di applicazioni tecniche e scientifiche: in tal cluso con lanalisi dei fenomeni vulcanologici e

geologia tecnica & ambientale, 2014/2, pp. 33-71 35

GTA 02 - Art 03 Spina mod.indd 35 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

fisici che portano alla formazione dei campi di mediterraneo dappartenenza.


lava, spiegando i meccanismi che determinano Il chimismo basico etneo, anomalo per le zone
la formazione dei canali lavici e le digitazioni la- di collisione continentale, pu essere spiegato
terali/superiori che generano le differenti unit con lapertura di strutture distensive nella crosta
di flusso durante lattivit effusiva. Questa fase (faglie dirette), perpendicolari al massimo stress
preliminare di definizione del dominio dellappli- compressivo, per effetto delle deformazioni subi-
cazione propedeutica a una corretta interpreta- te dai terreni sedimentari coinvolti nei processi
zione della teoria di base su cui fondato Mag- orogenici. Lungo queste direttrici tettoniche si
Flow. Successivamente stato trattato il contesto avuta la risalita del magma dal mantello (loca-
GPGPU considerandone sia i punti di forza che lizzato nellarea etnea ad una profondit di circa
gli svantaggi. Le potenzialit del GPU Compu- 40 Km), che ha alimentato unattivit prevalente-
ting sono riassumibili nei vantaggi prestazionali mente effusiva intervallata da episodi esplosivi,
rispetto al classico calcolo sequenziale (circa due tipica dei vulcano strato.
ordini di grandezza) e nella capacit elaborativa La prima attivit si manifestata in ambiente
di grandi quantit di dati in tempi ristretti. Gli submarino con la messa in posto delle lave a pil-
svantaggi del metodo sono connessi alle diffi- lows (zona di Acicastello, in provincia di Catania).
colt di approccio da parte del programmatore, Durante lera quaternaria la zona pre-etnea, cio
che richiede un cambio di mentalit rispetto lareale su cui successivamente andato ad impo-
alla classica programmazione su CPU. I capitoli starsi il vulcano, stata soggetta a graduali solle-
successivi trattano lanalisi dei requisiti, spiegati vamenti dovuti alla collisione fra la placca Euro-
attraverso due possibili scenari di utilizzazione e asiatica e Africana: le aree interessate da vulcani-
la progettazione dove, insieme alla documenta- smo sottomarino sono quindi emerse modificando
zione UML, viene spiegato il modello matemati- la preesistente attivit effusiva in una a carattere
co su cui si basa lautoma cellulare. Il capitolo si prevalentemente subaereo. La successiva evolu-
conclude descrivendo i componenti principali del zione dellEtna costellata da un ripetersi di even-
software e la funzione svolta nellambito dellap- ti costruttivi e distruttivi con apparati pi recenti
plicazione. Lultima parte riguarda i dettagli im- che si sovrimpongono a centri eruttivi pi antichi
plementativi che motivano alcune scelte operate e non pi attivi. Si passa cos dai centri eruttivi an-
dallo sviluppatore e le conclusioni, che sono state tichi al vulcano di Calanna, Trifoglietto I e II, Mongi-
tratte sulla base dei risultati ottenuti. Un impor- bello antico fino al Mongibello recente; a ciascuna fase
tante contributo, nella stesura del manoscritto, associata una traslazione verso NW dei centri
stato fornito dallINGV sez. di Catania, che ha demissione, ricoperti dallattivit dei successivi
reso disponibile il codice sorgente del software apparati. Quelli appena citati sono soltanto alcuni
MagFlow (versione Cuda) e altre preziose infor- dei pi importanti centri eruttivi individuati dagli
mazioni durante la fase di sviluppo del software. autori, grazie agli affioramenti lavici presenti nella
sezione naturale della Valle del Bove.
INQUADRAMENTO GEOGRAFICO Analizzando petrograficamente i prodotti re-
Larea etnea riveste un importante significato lativi allattivit effusiva polifasata che ha gene-
geodinamico dovuto alla particolare collocazione rato il vulcano, possibile definire cronologica-
geografica, ubicata alle falde di un vulcano attivo mente una successione costituita da:
compreso fra la placca Euroasiatica a Nord e la lave subalcaline di base relative a prodotti ini-
zolla Africana a Sud. ziali indifferenziati a chimismo tholeiitico dovuti
I caratteri petrografici dei prodotti lavici in parte ad attivit submarina ed in parte subaerea;
emessi dal vulcano, sembrano per in contrap- rocce alcalibasaltiche pi rare associate ai
posizione con il regime compressivo del settore centri eruttivi antichi, che si sviluppano in posi-

36 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 36 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

zione basale, ossia poggianti sui terreni sedimen- infatti, i primi eventi relazionabili a fenomeno-
tari del substrato; logie parossistiche (eruzioni freato magmatiche,
rocce a chimismo alcali-andesitico e latitande- nubi ardenti, collassi calderici per svuotamento
sitico che hanno determinato laggradazione del della camera magmatica o, come alcuni autori so-
vulcano. stengono, eruzioni direzionali), si ha una ripresa
della normale attivit magmatica del Mongibello
CARATTERISTICHE GEOLOGICHE DELLA- recente, intervallata nel tempo, che produce una
REA ETNEA serie di colate che in taluni punti si sovrappon-
La poliedrica evoluzione dellEtna ha deter- gono e che hanno caratteristiche petrografiche e
minato, nel corso di centinaia di migliaia di anni, mineralogiche molto simili. Le varie colate sono
la sovrapposizione di molteplici corpi lavici, talu- state poi rimodellate da processi geomorfologici,
ni perfettamente delimitabili, altri a morfologia attivati dalla combinazione di fattori strutturali
incerta. Lazione degli agenti esogeni, associata (faglie dirette) e stratigrafici (abbassamento del-
alle modificazioni antropiche, ha contribuito in la permeabilit delle lave per fenomeni dargil-
maniera determinante a obliterare gli originari lificazione e/o variazioni litologiche corrispon-
rapporti fra le colate succedutesi nel tempo. La denti al passaggio lave-piroclastiti). Entrambi
successione litostratigrafica frequentemente ri- i fattori hanno esercitato unazione di controllo
corrente nellarea vulcanica etnea risulta costi- sul sistema daste fluviali presenti nel vulcano,
tuita da: sviluppando depositi alluvionali attuali e recenti
Depositi alluvionali attuali e recenti che ricoprono, talora con spessori consistenti, il
Lave storiche fondovalle dei sistemi torrentizi presenti nel set-
Lave recenti non datate tore etneo.
Lave delimitabili a morfologia superficiale ben
conservata CARATTERISTICHE GEOMORFOLOGICHE
Lave delimitabili a morfologia superficiale degra- La fisiografia dei terreni vulcanici mostra un
data profilo alquanto articolato con morfologie natu-
Lahars rosso-bruni variamente cementati rali interrotte da scarpate subverticali ricondu-
Conglomerati sabbiosi. cibili a faglie normali: esse generano dislivelli to-
Lanalisi dei litotipi consente di trarre impor- pografici e, di conseguenza, processi morfogene-
tanti considerazioni sulle vicissitudini geologi- tici attivi. La morfologia dellarea oltre che dalla
che che hanno interessato lareale etneo. sua ubicazione e dalle strutture tettoniche pre-
I conglomerati sabbiosi, termine pi profon- senti viene anche condizionata dalla maggiore o
do della successione, sono definiti localmente minore competenza dei litotipi affioranti, dal loro
Chiancone e con spessori dellordine di centina- stato di degradazione, dagli interventi antropici
ia di metri ricoprono la zona di Giarre-Riposto. che hanno parzialmente rimodellato il paesaggio
Queste enormi masse di sedimenti alluvionali originario.
sembrano collegati allo sprofondamento calderi- I tratti morfologici pi pronunciati si hanno
co della Valle del Bove, area sorgente che avrebbe in corrispondenza delle lave, mentre morfologie
alimentato con meccanismi di tipo lahars la sot- pi blande sono presenti in settori caratterizzati
tostante area costiera, coinvolgendo depositi pi- da terreni poco competenti (conglomerati sab-
roclastici fluidicati derivanti da attivit esplosive. biosi, argille).
Stesso significato sembrano avere i Lahars rosso- Lorografia del territorio inoltre condizio-
bruni variamente cementati, mentre i successivi nata dallo stato di alterazione delle colate: le lave
termini che si sovrappongono ai flussi fangosi storiche, non ancora profondamente interessate
basali sono rappresentati da colate laviche. Dopo, dai processi di alterazione degli agenti esogeni,

geologia tecnica & ambientale, 2014/2, pp. 33-71 37

GTA 02 - Art 03 Spina mod.indd 37 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

presentano un ottimo stato di conservazione delle nellEtna in base allaltitudine, con differenti as-
superfici di colata, dando luogo a morfologie mag- sociazioni di suoli in rapporto al piano altimetrico
giormente articolate; al contrario le lave antiche, considerato. Ad esempio nella fascia altimetrica
molto degradate e sede dintense coltivazioni, compresa fra 300 e 700 m s.l.m. sono presenti rego-
sono caratterizzate da morfologie pi blande. suoli e litosuoli, derivanti dallerosione fisico-chimica
dei basalti etnei. Entrambi i terreni, solitamente
PROCESSI PEDOLOGICI frammisti ai suoli bruni tipici dei vigneti etnei, nelle
Processi pedologici attivi generano suoli con caratteristiche generali sono poveri dazoto e tal-
caratteristiche fisico-chimiche correlate a quelle volta ricchi di fosforo e potassio, con un contenuto
della roccia madre e possono essere considerati di sostanza organica generalmente basso.
sistemi aperti allo scambio di energia e mate- La forma di humus ricorrente molto evo-
ria con gli ecosistemi circostanti. Essi risultano luta (tipo mall) ed generata dalla vegetazione
delimitati superiormente dallaria, inferiormente esistente, costituita prevalentemente da latifo-
dalla roccia inalterata, lateralmente dalle acque glie. Questo concime naturale che si forma in
permanenti, dai ghiacciai o dalla roccia affio- ambiente aerato, stabile, biologicamente attivo
rante e si formano dove le azioni dellatmosfera, e ricco delementi nutritivi alcalino e alcalino-
dellidrosfera e della biosfera agiscono sulla lito- terrosi. La materia prima (sostanza organica) per
sfera (Fierotti, 1997). Il processo che porta alla la formazione dellhumus in gran parte proviene
formazione del suolo viene definito pedogenesi e dai vegetali (foglie, rametti, residui radicali) e in
racchiude linsieme delle azioni svolte da alcuni minima parte da quelli animali (carcasse deiezio-
fattori biotici e abiotici e da numerosi fattori chi- ni..etc). Essa soggetta allhumificazione che si
mici, fisici e biologici. Nel processo che porta alla svolge attraverso lazione di microrganismi in
formazione del suolo possibile distinguere due presenza di determinate condizioni di tempera-
meccanismi: tura e umidit.
disgregazione fisica
alterazione chimica CONDIZIONI IDROGEOLOGICHE ED
La disgregazione fisica determinata soprat- IDROGRAFICHE
tutto dal clima (crioclastismo, termoclastismo, I terreni affioranti hanno caratteristiche di
etc..) e in alcuni casi integrata dallazione di- permeabilit raggruppabili in due grandi catego-
varicatrice dellapparato radicale delle piante. rie: terreni permeabili per fessurazione e terreni
Levoluzione del processo porta in tempi pi o permeabili per porosit. Nelle rocce vulcaniche
meno rapidi alla disgregazione meccanica della permeabili per fessurazione i giunti hanno una
roccia in frammenti litici che vanno a costituire duplice origine:
il substrato pedologico. Il materiale frammenta- rapido raffreddamento del magma che genera
to ottenuto viene pi facilmente alterato chimi- un campo di stress tensili ed un relativo siste-
camente attraverso vari processi che richiedono ma di fessure;
la mediazione dellacqua (idratazione, idrolisi, sforzi tettonici in atto con sistemi di fratture a
soluzione), di acidi organici (reazioni di ossida- grande e a piccola scala.
zione, riduzione, mineralizzazione); questultimi Questa distinzione non deve essere conside-
portano alla formazione di minerali e di argille rata assoluta poich la formazione di meati sin-
di neoformazione (minerali secondari) che insie- genetici dovuti allespansione dei gas durante la
me ad altri minerali della roccia rimasti inalterati fase di consolidamento (porosit primaria) in as-
(minerali primari) costituiscono la frazione mine- sociazione alle vicissitudini tettoniche (porosit
rale del suolo. secondaria) porta allesistenza di termini inter-
Fierotti (1997) ha suddiviso i suoli presenti medi (permeabilit mista) fra i due estremi.

38 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 38 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

I terreni effusivi (lave storiche, lave recenti, lave lahars hanno permeabilit medio-bassa.
delimitabili a morfologia superficiale ben conservata, Le frequenti variazioni di permeabilit, tipi-
lave delimitabili a morfologia superficiale degradata) che del vulcano strato, dovute allalternanza di
sono caratterizzati da permeabilit di tipo misto; orizzonti a permeabilit ridotta (banchi lavici
non per possibile, per queste formazioni, defi- compatti e scarsamente fessurati, piroclastiti e
nire una valore indicativo del coefficiente di per- paleosuoli pi o meno argillificati) e orizzonti
meabilit poich numerosi fattori (frequenza del- altamente permeabili (banchi lavici fortemente
le fessure, spaziatura tra le stesse, distanza tra i fessurati, livelli scoriacei altamente porosi) de-
rispettivi labbri nonch leventuale riempimento terminano lesistenza di falde sospese di portata
con materiali fini) fanno oscillare entro ampi li- modesta. Esse danno luogo ad acquiferi multifal-
miti il coefficiente di permeabilit, perfino in aree da a circolazione idrica alquanto complessa per
adiacenti nellambito della stessa colata. lesistenza di continue variazioni litologiche e
La permeabilit per porosit da attribuire alla di permeabilit, sia verticali che orizzontali. Lo
presenza di cavit di varie dimensioni (bolle e ca- scambio idrico fra le varie falde sovrapposte ri-
verne di svuotamento) con trascurabile porosit sulta localizzato in corrispondenza delle soluzio-
intrinseca; solo raramente i vacuoli sono intercon- ni di continuit dei sedimenti meno permeabili.
nessi mentre, in pi occasioni, restano isolati allin- Dal punto di vista dellidrografia superfi-
terno della roccia. Esiste comunque una differenza ciale, lalta permeabilit delle lave facilita lin-
di permeabilit, nellambito dei terreni effusivi, in filtrazione delle acque piovane con fenomeni di
funzione dello stato di degradazione: in termini re- ruscellamento superficiale modesti e comunque
lativi si pu considerare una permeabilit elevata legati alla saturazione temporanea dello strato di
per le lave storiche e recenti e una permeabilit da aerazione in occasione di eventi pluviometrici di
elevata a media per le lave meno recenti. elevata intensit. Il fenomeno viene accentuato in
I depositi piroclastici incoerenti (alternanza di presenza di morfologie acclivi e/o dalla riduzione
ceneri, lapilli, sabbie vulcaniche) sono permeabili di permeabilit delle lave in risposta a particolari
principalmente per porosit, in quanto caratte- fenomeni fisico-chimici (processi di argillificazio-
rizzati da unaccentuata eterogeneit e anisotro- ne) o connessi alla natura intrinseca della roccia
pia dovuta a svariati fattori quali: (prevalente componente piroclastica a granulo-
diverso assortimento granulometrico dei pro- metria fine). Sotto tali precondizioni si verificano
dotti di pi eruzioni; situazioni di saturazione in acqua, che scorrendo
classazione orizzontale e verticale che si verifi- d origine a modeste aste drenanti e ad incisioni
ca tra i prodotti di una stessa eruzione; appena accennate, sprovviste di deflusso per gran
erosione e variazioni di morfologia che si veri- parte dellanno. Escludendo queste eccezioni,
ficano tra uneruzione e laltra. generalmente assente un reticolo idrografico
Anche le lave scoriacee, che come le piroclastiti organizzato gerachicamente e il drenaggio delle
si rinvengono alla base ed alla sommit dei ban- acque meteoriche avviene diffusamente lungo le
chi lavici, sono permeabili in piccolo. linee di massima pendenza.
Le alluvioni e i conglomerati sabbiosi sono caratte-
rizzati da permeabilit mista prevalentemente per TETTONICA E SISMICIT
porosit, con circolazione dei filetti idrici allinter- Le strutture prevalenti sono rappresentate
no dei vuoti intergranulari e subordinatamente da faglie dirette che rispecchiano il generale re-
allinterno di fratture; i lahars sono invece carat- gime tettonico delloffshore ionico, strettamen-
terizzati da permeabilit mista prevalentemente te connesso alla cinematica della cosidetta scar-
per fessurazione. La permeabilit delle alluvioni pata ibleo-maltese. Il movimento che avvien-
medio-elevata, mentre i conglomerati sabbiosi ed i ne lungo questimponente struttura tettonica

geologia tecnica & ambientale, 2014/2, pp. 33-71 39

GTA 02 - Art 03 Spina mod.indd 39 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

(orientata allincirca N-S) viene accomodato, differenza delle colate di lava, scorrono molto ve-
nella terraferma, da strutture orientate confor- locemente (100 Km/h) distruggendo il territorio
memente a quella principale e caratterizzate da e lasciando poche possibilit di fuga alle popola-
scivolamento stabile asismico (creep sismico). zioni residenti.
Tale fenomeno consiste nel lento spostamento Lesistenza di molteplici coni avventizi testimo-
del terreno lungo il piano di faglia, accompa- nia il potenziale rischio dapertura di bocche erutti-
gnato da scosse di bassa intensit molto dan- ve alle basse quote anche se la maggiore pericolosit
nose per gli edifici presenti, periodicamente sembra essere relazionata allo sviluppo di fratture
soggetti a danni strutturali. Nellevoluzione del subsommitali. In tale disastrosa evenienza le colate
regime tettonico ibleo-maltese si avuta propa- laviche provenienti da queste aree potrebbero inva-
gazione, a pi riprese, delle strutture distensive dere il centro abitato: i luoghi meno esposti sareb-
dalla costa ionica verso nord-ovest che hanno bero quelli di quota pi alta mentre depressioni ed
generato importanti strutture che dissecano il incisioni vallive rappresenterebbero vie superficiali
vulcano siciliano. di deflusso preferenziale per il magma. Pi basso
Lareale etneo risente anche di terremoti vul- sembra essere il rischio connesso allinvasione di
canici associati alla risalita di magmi, che provo- flussi lavici, provenienti direttamente dallarea som-
cano estese fratturazioni del suolo. In questo caso mitale. Nonostante si siano verificate in passato, il
lenergia liberata molto bassa e non provoca fe- rischio connesso a colate piroclastiche e fangose
nomeni distruttivi, se non in prossimit dellarea per lEtna molto basso.
epicentrale corrispondente alla zona dapertura In generale, invece, non sussiste nessun ri-
della frattura/bocca eruttiva. schio per attivit esplosiva di tipo centrale a
causa della notevole distanza dei centri abitati
RISCHIO VULCANICO dal punto demissione; lunico fastidio in tal sen-
Il rischio vulcanico dipende prevalentemente so pu essere rappresentato dalla frazione fine
da due fattori: emessa che, trasportata dal vento e ricadendo nel
quantit di energia liberata e caratteristiche centro abitato, pu creare disagi alla circolazione
dellevento sismico; veicolare e alle attivit produttive.
esistenza di insediamenti umani prossimali
alla sorgente sismogenetica. STRUTTURE DELLE COLATE LAVICHE
In relazione al tipo devento esistono diversi Esistono particolari strutture che forniscono
gradi di rischio basati sulla frequenza daccadi- importanti indicazioni sulla pregressa attivit
mento, che possono essere distinti in tre grandi effusiva:
gruppi: superfici di colata tipo aa legate alla reologia
1. invasione di colate laviche (sommitali o la- del magma e al processo di autobrecciatura;
terali), il cui rischio aumenta in prossimit del- tunnel lavici dovuto allo svuotamento dei ca-
le bocche eruttive ed fortemente influenzato nali in relazione al variabile tasso di emissione
dallassetto morfologico del luogo; alle bocche;
2. eiezione di prodotti piroclastici, che si verifica campi di lava strettamente dipendenti dalle
in prossimit delle bocche eruttive dove il rischio modalit di deflusso delle colate.
aumenta per la ricaduta al suolo di bombe, bloc-
chi litici e brandelli di lava incandescente; COLATE AA
3. colate piroclastiche (nubi ardenti) o fangose (la- Le caratteristiche macroscopiche delle lave
hars) legate rispettivamente alla formazione di storiche indicano che la superficie della colata era
nube ardente o ad eruzioni freato-magmatiche; di tipo aa, cio formata da blocchi lavici a spigoli
questi eventi parossistici generano flussi che, a vivi: il processo che porta alla formazione di que-

40 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 40 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

ste strutture subaeree, detto di autobrecciatura, andata ad impostarsi la colata (nella figura 1
dovuto alla frammentazione della superficie di corrisponde ad un livello piroclastico rifuso al
colata per effetto di una risposta non elastica del- contatto con la lava).
la crosta fredda al movimento del materiale caldo In vari settori del vulcano sono state individuate
sottostante. Il fenomeno avviene prevalentemen- strutture superficiali di notevole interesse rappre-
te nel magma basico molto viscoso, con intensit sentate da canali lavici collassati: nelle pagine suc-
proporzionale alla distanza dalla bocca eruttiva cessive vengono descritti i meccanismi che portano
ed alla acclivit del versante su cui scorre. alla formazione di queste cavit sotterranee e la
Fattori cinematici e fisico-chimici sono alla base causa che ha prodotto la loro frammentazione.
dei meccanismi di propagazione della parte pi
avanzata della colata, definita fronte. Il gradiente CANALI LAVICI
di temperatura fra la parte pi bassa della colata e I tunnel lavici si formano in seguito al dif-
quella soprastante comporta differenti attriti in- ferente raffreddamento, allinterno della stessa
terni e diverse velocit di spostamento: la porzione colata, subito dal magma in relazione alla posi-
inferiore avanza con una velocit minore rispetto zione occupata. La parte pi superficiale della
a quella superiore generando attrito allinterfaccia colata essendo a diretto contatto con latmosfera
fra le due masse laviche in movimento. In risposta si raffredda molto velocemente per effetto della
alle differenti entit di scorrimento, il fronte della notevole differenza di temperatura fra il magma e
colata tende a sporgere, frantumarsi e far ricadere lambiente esterno; nel frattempo la porzione pi
il detrito davanti alla massa che avanza. Il fenome- interna scorre sotto questa crosta superficiale, che
no si ripete in continuazione durante lo sviluppo funge da materiale isolante, raffreddandosi molto
di un flusso e la lava scorre costantemente sopra lentamente. Oltre che sulla superficie, anche sul
il proprio detrito (Scandone & Giacomelli, 1998). fondo e lungo i bordi della colata lavica, il mate-
Nellarea etnea questo processo avvenuto a pi riale solidifica per raffreddamento inibendo la di-
riprese, generando dei passaggi verticali da cola- spersione di calore della parte pi interna, dove la
te massive ad un melange, costituito da detrito temperatura si mantiene alta per lunghi tragitti.
lavico. I dati sperimentali indicano, per colate di Lo sviluppo della crosta superficiale o il congiun-
questo tipo, velocit di qualche m/ora inferiori a gimento verso lalto dei bordi laterali solidificati,
quelle delle lave pahoehoe; questultime sono mol- possono creare un vero e proprio tubo allinterno
to pi fluide a causa di un chimismo meno acido e del quale il magma fluisce perdendo una frazione
di una maggiore temperatura. molto piccola del calore (Scandone & Giacomel-
Alcune caratteristiche macrostrutturali, ri- li, 1998). Il successivo svuotamento, pi o meno
scontrate in affioramento, permettono una suddi- totale, della cavit d luogo ai cosidetti canali
abbandonati o tunnel lavici. I fattori responsabili
visione verticale della colata aa in tre zone (Fig. 1):
dellevacuazione lavica sono da ricondurre a:
una zona superiore che presenta una struttu-
perforazione del fronte o dei margini della colata
ra scoriacea vetrosa (in figura 1 la porzione
da parte della lava fluida sotto pressione;
stata ridotta a suolo) dovuta al rapido raffred-
diminuzione del tasso demissione alle bocche.
damento a contatto con laria;
una zona centrale corrispondente al nucleo
Nel corso dei singoli episodi effusivi, eventua-
della colata costituita da lava massiva e vesci-
li variazioni di flusso alle bocche dalimentazione
colata da bolle di gas. Questultime si formano
possono produrre larresto del fronte davanza-
durante lo scorrimento del magma e pertanto
mento della colata oppure dar luogo ad una nuo-
si presentano con forme allungate o distorte
va colata affiancata o in parte sovrapposta alla
nella massa raffreddata (Fig. 2);
precedente. Il ripetersi di questi fenomeni genera
una zona inferiore, cio il substrato su cui

geologia tecnica & ambientale, 2014/2, pp. 33-71 41

GTA 02 - Art 03 Spina mod.indd 41 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

Fig. 1 (in alto) Suddivisione verticale di una colata aa.


Fig. 1 Vertical subdivision of aa flow.

Fig. 2 Nucleo della colata costituito da lava massiva. Lallungamento delle vescicole da degassazione indica la direzione di deflusso della colata.
Fig. 2 Flow core consisting of massive lava. Note that the elongation of the degassing vesicles indicates the lava flow direction

42 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 42 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

Fig. 3 Relitto della volta scoriacea di un canale di scorrimento lavico.


Fig. 3 Wreck of the scoriaceous vault of a lava channel.

geologia tecnica & ambientale, 2014/2, pp. 33-71 43

GTA 02 - Art 03 Spina mod.indd 43 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

campi di lava costituiti da varie colate, con una tanti sono dati da frammenti della volta, presenti
zona frontale a geometria lobata o frastagliata e talora nella loro originaria collocazione ma pi
percorsi da una serie di canali ad andamento si- spesso verticalizzati per effetto di un tilting
nuoso (Peccerillo, 1992). generato dallo sprofondamento della superficie
I processi precedentemente descritti hanno della colata. Il cedimento del canale, infatti, pu
generato diversi tunnel lavici che si snodano in causare la rotazione delle porzioni pi esterne
maniera tortuosa nel territorio etneo, dando trac- del tetto della galleria che, verticalizzandosi (Fig.
cia della loro esistenza in corrispondenza dampie 3), assumono unaspetto simile a dicchi lavici, de-
depressioni della parte pi superficiale della cola- limitanti un caotico accumulo di blocchi scoriacei
ta, nelle cui parti periferiche sono spesso presen- crollati dalla volta.
ti resti della volta a struttura scoriacea. Queste
forme relitte sono dovute al crollo del tetto dei CAMPI DI LAVA
canali, verificatisi in seguito al loro svuotamento, Ledificio vulcanico etneo costituito da
che lasciano delle depressioni allungate ad anda- uninsieme di campi di lava sovrapposti o affian-
mento sinuoso. Il riconoscimento degli stessi cati, che avendo lunghezza e spessori differenti,
basato principalmente su due fattori: generano una morfologia molto articolata. Per
individuazione di frammenti della volta, in comprendere la genesi e levoluzione dei campi
vari punti del percorso dei canali lavici ripor- di lava ed i rapporti esistenti fra le colate rela-
tati in carta; tive alla stessa attivit effusiva, necessario in-
andamento delle curve di livello che, pre- trodurre il concetto di unit di flusso. Con questo
sentando la convessit rivolta verso le alte termine sintende una quantit finita di lava fusa,
quote, indicano lesistenza di una stretta emessa in continuazione da un centro eruttivo,
depressione che si sviluppa nella direzione che scorre per gravit lungo i fianchi di un vulca-
di deflusso delle lave storiche. da esclu- no, mantenendosi fluida per tutto il suo percorso
dere, per vari motivi, che tali avvallamenti (Scandone & Giacomelli, 1998).
siano di natura torrentizia. Uno di questi Analizzando lunit di flusso in senso trasver-
lassenza di direzioni di scorrimento prefe- sale (Fig. 4a), si distinguono:
renziale: lelevata permeabilit dei basalti gli argini, porzioni periferiche della colata ra-
associata alla bassa pendenza del terreno fa- pidamente solidificate;
vorisce linfiltrazione delle acque a scapito la copertura superficiale, costituita da frammen-
del ruscellamento superficiale che si mantie- ti lavici solidi a spigoli vivi (clinker), dovuti a
ne su valori molto bassi. Inoltre la stessa se- raffreddamento subaereo. Queste due porzio-
zione trasversale della depressione mostra ni solide, saldandosi, formano un canale lavico
dei caratteri morfologici che si distaccano scoriaceo, allinterno del quale si ha lo scorri-
notevolmente da quella tipica a V delle in- mento della parte fusa secondo la direzione di
cisioni torrentizie. massima pendenza.
Lo sprofondamento dei canali lavici in parec- Longitudinalmente (Fig. 4b), lunit di flusso
chi casi pu essere considerato singenetico, cio costituita da:
verificatosi durante la fase di collassamento della un canale, esteso dalla bocca eruttiva al fronte;
colata. ipotizzabile, inoltre, che gli eventi tet- un fronte, corrispondente alla parte pi avan-
tonici possano aver sfruttato queste zone di de- zata della colata, che essendo a diretto contat-
bolezza strutturale accentuando i preesistenti to con laria, si raffredda molto rapidamente.
avvallamenti. Durante lattivit effusiva i meccanismi di
Il collassamento dei tunnel lavici testimo- scorrimento del magma variano nel tempo (dalli-
niato da numerosi indizi superficiali. I pi impor- nizio alla fine delleruzione) e nello spazio (dalla

44 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 44 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

bocca al fronte). sore di qualche dm ed area ricoperta di centina-


Levoluzione temporale del deflusso lavico ia di m2), ad una situazione pi evoluta di flusso
pu essere suddivisa in tre fasi: incanalato. Lefflusso magmatico non isorientato,
rapido allungamento; provoca un forte sbilancio energetico a favore
decelerazione; delle perdite, direttamente proporzionali alle-
avanzamento a bassissima velocit. stensione della superficie raggiunta dalla colata;
Il secondo e terzo stadio possono coprire un in queste condizioni il raffreddamento del fuso
tempo che varia da pochissimo a gran parte della avviene per irraggiamento, con formazione di
durata delleruzione, ma indipendentemente da moti convettivi nellatmosfera sovrastante. Dopo
questo, una colata compie gran parte del suo per- la prima fase di propagazione areale, si ha una
corso durante il primo stadio (Kilburn e Guest, diversificazione degli apporti nellambito delle-
1993; Kilburn, 1995).
Le variazioni pi significative nella modalit
di propagazione della colata si hanno durante le
prime fasi dellattivit ed in prossimit della frat-
tura eruttiva, dove si passa da una condizione ini-
ziale di flusso diffuso (Fig. 5a), che avviene su una
superficie molto estesa rispetto al volume (spes-

Fig. 5 Fasi di formazione di un canale lavico:


a) da una frattura si ha emissione di magma che si espande arealmente colonizzando
unampia superficie;
b) le parti pi esterne della colata, scarsamente alimentate, si raffreddano molto
velocemente generando una crosta (argine) che si evolve centripetamente. Questa
porzione solidificata delimita una zona centrale, corrispondente alla direzione di mas-
sima pendenza, in cui scorre il fuso magmatico costantemente rifornito dalla bocca.
In prossimit del fronte il flusso lavico diverge e si propaga per digitazioni successive.

Fig. 5 Steps for a lava channel forming:


Fig. 4 Unit di flusso
a) emission of magma from a fracture and its expansion that colonizes a large
a) sezione trasversale
surface;
b) sviluppo longitudinale
b) the outer parts of the flow, poorly fed, cool very quickly and create a crust (bank)
Fig. 4 Flow unit that evolves centripetally. This solid portion surrounds a central area, correspon-
ding to the direction of maximum slope, consisting of the flow of melted magma
a) Cross section and constantly replenished from the vent. Near the flow front, the lava flow diver-
b) Longitudinal development. ges and propagates for subsequent digitations

geologia tecnica & ambientale, 2014/2, pp. 33-71 45

GTA 02 - Art 03 Spina mod.indd 45 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

spandimento: la parte centrale, sviluppatasi nella


direzione di massima pendenza, viene rifornita
pi velocemente rispetto alle aree marginali, che
sono, quindi, soggette ad un graduale raffredda-
mento. Il processo dalimentazione differenziata
genera, nel tempo, zone laterali solide (argini)
che delimitano un settore intermedio, in cui av-
Fig. 6 Sezione longitudinale del fronte di una colata aa.
viene lo scorrimento canalizzato della parte fusa Fig. 6 Longitudinal section of the aa flow front.
(Fig. 5b). Questalveo naturale, riconnettendosi
verso lalto alla copertura superficiale scoriacea,
forma un tubo di flusso, che, per motivi geome- sponsabile del maggiore o minore allungamento
trici e fisici, riduce sensibilmente la quantit di della colata. Queste spinte interne (P), esercita-
calore disperso. noto, infatti, che tra i solidi ge- te dal fuso sulla crosta anteriore, possono essere
ometrici, il cilindro ha il pi basso rapporto tra quantificate con la seguente espressione:
superficie e volume (S/V), fattore, questultimo, P = r g Dh Q dove:
che implica la minima perdita denergia. Non r = viscosit del magma;
meno importante , inoltre, il ruolo coibente del- g = gravit;
la crosta, superficie di transizione con lambiente Dh = dislivello esistente fra il fronte e la bocca
esterno, che evita la dissipazione del calore. Le eruttiva;
perdite termiche successive alliniziale fase de- Q = parametro che ingloba tutti gli attriti, di-
spandimento, sono quindi da attribuire a fenome- pendenti dalla sezione della colata.
ni di convezione allinterno della massa lavica e Le elevate tensioni presenti provocano un
di conduzione con le pareti (piuttosto basse, in ripetuto franamento dei blocchi frontali, che,
considerazioni della scadente conducibilit dei accumulandosi ai piedi della colata, generano il
silicati che le costituiscono). detrito basale e gli argini (Fig. 6). La continua
Le condizioni di deflusso, oltre a modificarsi frammentazione del fronte porta ad un pro-
nel tempo, subiscono sensibili variazioni anche gressivo decremento della resistenza fino al
nello spazio; infatti, procedendo dalla bocca al completo cedimento: la colata avanza molto ra-
fronte la propagazione del fuso magmatico avvie- pidamente scaricando tutto lo stress preceden-
ne attraverso un flusso canalizzato, mentre nel temente accumulato. Tale processo avviene, in
percorso fronte-argine, lavanzamento si svol- maniera ripetitiva, per tutta la durata delleru-
ge con caratteristiche completamente differenti: zione; la crosta del fronte si rompe in continua-
per rottura e rotolamento dei blocchi lavici pi zione e le fratture espongono nuove porzioni
esterni. Inoltre, lungo il canale la propagazione di magma al raffreddamento: attraverso questo
si svolge con linee di flusso parallele, mentre in meccanismo, la colata avanza per successive di-
prossimit del fronte la resistenza opposta dalla gitazioni. Altro fattore che condiziona lo svilup-
parte anteriore solidificata provoca una diver- po di ununit di flusso, la legge che regola
genza del flusso. lo scorrimento lavico: infatti, il comportamento
dinamico del magma, in relazione alle sue ca-
Esistono ulteriori fattori che condizionano le ratteristiche intrinseche, si discosta notevol-
modalit di sviluppo delle unit di flusso, ricon- mente da quello della maggior parte dei fluidi,
ducibili alla dinamica della parte anteriore della che hanno un comportamento Newtoniano. Con
colata ed alle caratteristiche reologiche del fuso. tale termine ci si riferisce ad una propagazio-
La cinematica del fronte lavico, legata allentit ne che avviene con moto laminare in condizioni
delle sollecitazioni magmatiche endogene, re- stazionarie, intendendosi che le condizioni in

46 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 46 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

Fig. 8 Formazione di un campo di lava per allargamento del flusso:


a) sezione trasversale
b) pianta

Fig. 8 Formation of a lava field due to flow enlargement:


a) Trasversal section
b) map
Fig. 7 Formazione di un campo di lava per ispessimento del flusso:
a) sezione longitudinale
b) pianta

Fig. 7 Formation of a lava field due to flow thickening: durante il quale la sorgente rifornisce con
a) Longitudinal section
b) map
continuit, la colata;
fase di collasso inerente alla fine delleruzione:
durante questo stadio terminale la colata, or-
ciascun punto del flusso sono indipendenti dal mai staccata dal materiale fuso posto a monte,
tempo. Il magma, invece, si comporta come un continua a scorrere per gravit, dissipando
fluido di Bingham: necessita, cio, di uno sforzo termicamente e meccanicamente lenergia re-
aggiuntivo a quello gravitativo per potersi muo- siduale. Il processo si conclude quando tutta
vere. Tale spinta addizionale viene fornita dalla la lava passata dal canale al fronte e la velo-
lava, emessa dalla bocca, che trasferisce conti- cit del flusso tende a zero. Dopo lo svuota-
nuamente energia termica e meccanica al fluido mento del canale, il fronte, pur non essendo
piu avanzato. Questo processo sinterrompe al ancora del tutto solidificato, si blocca.
termine delleruzione: il flusso lavico, non pi Questi processi, ripetuti nello spazio e nel
alimentato, dopo aver dissipato lenergia cineti- tempo, generano delle ampie distese laviche defi-
ca residua, si arresta. nite campi di lava. La loro formazione pu avve-
nire semplicemente, attraverso flussi singoli, o in
possibile descrivere levoluzione di ununit maniera molto complessa, in seguito a tre diffe-
di flusso attraverso due principali fasi: renti meccanismi che possono anche coesistere:
fase di sviluppo relativa al periodo eruttivo, ispessimento del campo (Fig. 7), dovuto alla so-

geologia tecnica & ambientale, 2014/2, pp. 33-71 47

GTA 02 - Art 03 Spina mod.indd 47 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

vrapposizione di nuove singole colate o alla se dopo liniziale variazione negativa il tasso di
lava che continua ad essere emessa dalla boc- emissione si stabilizza, il livello magmatico, in ri-
ca; sposta al blocco dinamico, risale allinterno del
allargamento del campo (Fig.8), dovuto alla for- canale determinando lispessimento del fronte.
mazione di nuovi flussi accanto al primo; La spinta di galleggiamento del fuso, confinato
allungamento del campo, dovuto alla rottura allinterno del tunnel lavico, aumenta sempre
della parte anteriore della colata. pi provocando dapprima la deformazione pla-
Lispessimento del campo avviene quando, stica delle rocce (rigonfiamento-ispessimento
durante un determinato intervallo di tempo, di- del fronte) e successivamente il cedimento delle
verse unit di flusso si propagano nella stessa di-
rezione, sovrapponendosi luna allaltra.
Il campo lavico pu svilupparsi anche per al-
largamento del flusso principale: la biforcazione
pu avvenire o per la presenza di unostacolo
(quale ad es. unalto topografico) o per rottura
degli argini. Entrambi i fenomeni determinano
la fuoriuscita della lava dal canale principale e la
formazione di una o pi colate affiancate.
La rottura dei bordi anteriori della colata con-
sente, invece, lallungamento del campo: il mino-
re o maggiore sviluppo longitudinale relaziona-
to alla velocit di avanzamento del fronte.

I principali meccanismi di formazione dei


campi lavici, precedentemente descritti, sono
fondamentali per comprendere i fenomeni vulca-
nici che hanno determinato lattuale assetto delle
colate presenti nellarea etnea.
A una certa distanza dalla sorgente, la colata
pu arrestarsi senza che sinterrompa leffusione
alla bocca: le principali cause del blocco lavico Fig. 9 Varie fasi del collassamento di un tunnel lavico dovuto a variazione del tasso
possono essere relazionate ad una diminuzione di emissione:
a) il magma fluisce allinterno del canale lavico a contatto con la crosta superficiale
della pendenza del substrato o a un decremento solidificata;
b) una diminuzione del tasso di emissione alla sorgente, d luogo ad un rapido ab-
del tasso demissione alle bocche. Lazione se- bassamento del livello magmatico allinterno del canale;
c) la copertura superficiale, non pi sostenuta dalla pressione del magma, collassa
parata o concomitante dei due fattori determina plasticamente;
una scarsa mobilit del fronte; questo stato ac- d) la volta della grotta, costituita da materiale scoriaceo a scadenti propriet fisico-
meccaniche, sotto il peso della crosta rigida sprofonda del tutto, occludendo quasi
cade quando le forze di deformazione imposte, totalmente il canale e lasciando delle ampie cavit fossilizzate. Il processo anche
favorito da eventi tettonici, particolarmente ricorrenti nellarea.
date dal peso della crosta frontale (T) nel senso Fig. 9 Various steps of the collapse of a lava tube due to the change in the emis-
della corrente e dalla spinta del nucleo caldo (W), sion rate:
a) the magma flows inside the lava channel in proximity to the solidified surface
aumentano con velocit inferiore a quella della crust;
b) a decrease in the emission rate at the source, gives rise to a rapid lowering of
resistenza tensile (R) (Scandone & Giacomelli, the magma level within the channel;
c) the surface coverage, no longer supported by the pressure of magma, collapses
1998): plastically;
(DW/Dt) + (DT/Dt) < DR/Dt d) the vault of the cave, consisting of scoriaceous material having poor physical-
mechanical properties, under the weight of the rigid crust sinks completely, almost
In queste condizioni lavanzamento della co- totally obstructing the channel and leaving the large cavities fossilized. The pro-
cess is additionally favoured by tectonic events, particularly recurrent in the area.
lata inibito dallelevata resistenza inerziale;

48 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 48 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

zone a debolezza crostale. Il settore privilegiato PROGRAMMAZIONE SU GPU


di rottura si ha in corrispondenza del passaggio Fornendo input numerici di vario tipo (DEM
argine-copertura: lo spostamento relativo tra gli e parametri fisico-chimici) lapplicazione Mag-
argini statici e la copertura in movimento genera Flow restituisce, in output, la simulazione del
una condizione di taglio, via di deflusso preferen- probabile percorso della colata lavica durante
ziale per la lava che trabocca allesterno. Questo lattivit effusiva dellEtna. La direzione del flus-
fenomeno di brecciatura, avvenuto in pi punti so magmatico guidata dai numerosi fattori geo-
della copertura, pu dar luogo a diverse colate, logici precedentemente accennati: caratteristiche
che si affiancano al flusso principale. Evidenze geomorfologiche dei versanti, strutture tettoni-
superficiali fanno ritenere che, durante lallarga- che, reologia del magma solo per citarne alcuni.
mento del campo, possa verificarsi un ulteriore La comprensione dei meccanismi e delle sva-
decremento del tasso demissione, responsabile riate variabili fisiche che influenzano lattivit
del graduale abbassamento del livello magmati- effusiva in associazione alle caratteristiche com-
co allinterno della cavit; la conseguente caduta putazionali della macchina su cui viene eseguita
di pressione idrostatica determina lo sprofonda- lelaborazione presupposto indispensabile per
mento della superficie di colata ancora allo stato una riproduzione accurata del fenomeno naturale
plastico, non pi sorretta dal basso (Fig. 9). in oggetto. Per tale motivo risulta necessario pre-
disporre, in modo adeguato, le risorse hardware
e software richieste per lesecuzione della simula-
a
zione, utilizzando opportune tecniche di ottimiz-
zazione delle prestazioni. La gestione efficiente
delle risorse richiede opportune conoscenze sia
della struttura hardware delle unit coinvolte
(scheda grafica e host), sia dei meccanismi sof-
tware che intervengono durante lelaborazione
dei dati (principi del calcolo parallelo, modalit
b di trasferimento dati Host-GPU e viceversa, di-
namiche inerenti al GPU computing,). In tale
ottica viene di seguito illustrata la struttura della
GPU e i principi su cui fondato il GPU compu-
ting, presupposto fondamentale alla comprensio-

Fig. 10 Organizzazione strutturale della GPU in OpenCL (a) e Cuda (b). Fig. 11 Schematizzazione della estrema eterogeneit computazionale di OpenCL.
Fig. 10 Structural organization of the GPU in OpenCL (a) and Cuda (b) (www.khronos.org) Fig. 11 Computational heterogeneity of OpenCL (www.khronos.org)

geologia tecnica & ambientale, 2014/2, pp. 33-71 49

GTA 02 - Art 03 Spina mod.indd 49 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

ne delle tecniche utilizzate nello sviluppo della calcoli in cui si ha necessit di notevole potenza
versione OpenCL del software MagFlow. di elaborazione.
La figura 11 mostra, a livello insiemistico, le-
STRUTTURA DELLE GPU terogeneit della computazione GPGPU che si
Esistono vari tipi di schede grafiche, sebbe- colloca allintersezione fra due estremi: calcolo
ne lorganizzazione interna di ciascuna di esse sequenziale relativo alla CPU e parallelo relativo
risulta articolata in modo similare. Una GPU alla GPU.
(Graphic Processing Unit) costituita da un Il GPU Computing integra entrambe le ca-
insieme di processing element (PE), cio di micro- ratteristiche, fondamentali per gli scambi di dati
processori che vengono raggruppati in Compute fra host e device.
Unit (unit di computazione) che corrispondono Lunificazione delle caratteristiche computa-
ai cosiddetti multiprocessori (Fig. 10a). Ogni zionali di GPU e CPU consente lo sviluppo di
processing element elabora una singola istanza del sistemi notevolmente potenti: le CPU sono costi-
programma kernel e, grazie alla propria struttu- tuite da un piccolo numero di core e consentono
ra interna, effettua operazioni su numeri interi e un limitato grado di parallelizzazione. Viceversa
float a singola e doppia precisione, funzioni tri- le GPU sono composte da migliaia di core e sono
gonometriche (seno, coseno,), cicli condiziona- ottimizzate per lelaborazione parallela.
li (if-else, for). Tutti i processing element di una Il passaggio da una elaborazione centralizzata
stessa Compute Unit eseguono contemporanea- (CPU) al co-processing su CPU e GPU reso
mente la stessa sequenza di istruzioni. possibile da API che consentono un interfac-
In figura 10b si pu osservare lorganizza- ciamento diretto con la GPU. Una delle pi im-
zione interna di una GPU Nvidia, nel modello portanti librerie grafiche Cuda (Compute Uni-
architetturale Cuda, che risulta composta da una fied Device Architecture) che corrisponde a una
serie di multiprocessori denominati Streaming estensione del C e C++ ed ha una sintassi rela-
MultiProcessor (SM), il cui numero dipende dalla tivamente semplice, consentendo quindi lesecu-
compute capability della GPU. Ogni SM risulta zione parallela di centinaia o migliaia di thread.
formato da un numero fisso di 8 Stream Proces- Apposite funzioni permettono il trasferimento
sors (SP) costituiti da ununit per effettuare il di dati fra lhost e il device o viceversa. Lallo-
fetching delle istruzioni, una memoria condivisa cazione di memoria nellhost/device avviene per
on-chip (shared memory) ed altre unit specializ- mezzo di funzioni che operano a basso livello (ad
zate nello svolgimento di differenti funzionalit es. CudaMalloc) similari alle corrispondenti fun-
(con due unit preposte allo svolgimento delle zioni C (malloc), ma con effetti sul device.
funzioni trigonometriche). Ciascuno degli otto Uno degli svantaggi di Cuda il legame ad
processori in grado di svolgere unoperazione uno specifico hardware: lesecuzione di software
matematica fondamentale (addizione, sottrazio- scritti in questo linguaggio di programmazione
ne, moltiplicazione, divisione) su numeri interi pu essere effettuato solo su PC dotati di schede
o su numeri in singola precisione a 32 bit o a grafiche NVidia.
doppia precisione a 64 bit (solo dalle architetture Altro framework che consente di eseguire
GT200 in poi). calcolo parallelo su GPU, denominato OpenCL
(Open Computing Language), risulta non vinco-
CARATTERISTICHE GENERALI DEL GPGPU lato da hardware specifico per lesecuzione. Basa-
Un importante settore della ricerca informa- to sul C99 stato rilasciato nel 2008 da Khronos
tica, definito GPGPU (General-Purpose Com- Group, consorzio costituito dai maggiori rappre-
puting on Graphics Processing Units) utilizza le sentanti nel campo delle CPU, GPU, processo-
unit di calcolo presenti nella scheda grafica per ri embedded e compagnie software. OpenCL

50 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 50 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

strutturato in modo da essere totalmente indi- work-item gestiscono la parallelizzazione pi in-


pendente dalla piattaforma e dai device esistenti. terna. I work-group vengono raggruppati in una
Un programma implementato in OpenCL pu NDRange bidimensionale (matrice bidimensio-
essere eseguito su device differenti senza ne- nale di elementi) dove ciascun work-group iden-
cessariamente essere ricompilato: le prestazioni tificato da una coppia di indici. Ogni work-group
risulteranno dipendenti dallo specifico device in risulta anche esteso nella direzione normale alla
cui il programma viene eseguito. NDRange, individuata da un terzo indice che de-
Lelemento fondamentale della computazione finisce lo spazio tridimensionale dei work-group.
parallela relativa al GPGPU (General-Purpose Ciascun work-item quindi complessivamente
Computing on Graphics Processing Units) il identificato da una terna di valori che rivelano la
kernel, una funzione speciale C/C++ invocata struttura tridimensionale del kernel.
dallhost ed eseguita nel device. In rapporto alla suddetta architettura, l'e-
Da un punto di vista implementativo essa ha secuzione del kernel presuppone una preventi-
le seguenti caratteristiche: va definizione di due parametri supplementari
una funzione che accetta parametri analoghi che specifichino le dimensioni di Grid e block
alle classiche funzioni C e non restituisce va- in Cuda e NDRange e work-group in OpenCL.
lori (void); Il partizionamento logico di un kernel in Grid
il passaggio degli argomenti avviene per ri- (NDRange) e block (work-group) viene conside-
ferimento, quindi le modifiche si riflettono rato un aspetto cruciale della programmazione in
sullelemento originario; Cuda e OpenCL .
dichiarato in Cuda con la keyword _glo- Bisogna inoltre ricordare che non esiste paral-
bal__ e in OpenCL con lestensione __kernel. lelismo a livello di kernel: allinterno dellapplica-
importante ricordare che esistono le se- zione essi devono essere eseguiti in sequenza.
guenti corrispondenze di termini nella sintassi Esistono notevoli similitudini nella struttu-
OpenCL-Cuda: ra della memoria, relativa alla GPU, in Cuda e
Work-item Thread OpenCL; le differenze riguardano solo la termi-
Work-group Block
NDRange Grid
Wavefront Warp
Le successive considerazioni relative ad
OpenCL possono essere estese anche a Cuda so-
stituendo i termini corrispondenti relativi ai due
sistemi.
La singola esecuzione del kernel viene effet-
tuata da unit dette thread (Cuda) o work-item
(OpenCL) ciascuna delle quali identificata da un
indice globale. Per definire il numero di work-
item che devono essere eseguiti dal kernel si ri-
corre ad una gerarchizzazione delle unit di ela-
borazione elementari: thread e work-item sono
raggruppati rispettivamente in block (Cuda) e
work-group (OpenCL) identificati da un secondo
indice. Il risultato una parallelizzazione a pi
Fig. 12 Struttura del kernel in Cuda.
livelli: ogni evento associato al programma vie-
Fig. 12 Kernel structure in Cuda (www.khronos.org)
ne elaborato da un diverso work-group mentre i

geologia tecnica & ambientale, 2014/2, pp. 33-71 51

GTA 02 - Art 03 Spina mod.indd 51 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

Fig. 14 Gestione del dataflow in Cuda.


Fig. 13 Struttura del kernel in OpenCL. Fig. 14 Dataflow management in Cuda (Advanced Computing: An International Journal,
Fig. 13 Kernel structure in OpenCL. (www.khronos.org) Vol.3, No.1, January 2012)

Fig. 16 Wavefront in OpenCL.


Fig. 15 Warp in Cuda. Fig. 16 Wavefront in OpenCL. (Courtesy Wen-mei W. Hwu. CTO, MulticoreWare, Inc.
Fig. 15 Warp in Cuda (Courtesy Jeremiah van Oosten) Professor University of Illinois)

nologia con cui vengono definite le varie regioni cola dimensione ma ad accesso molto veloce.
che la compongono. In essa si distinguono: Local Memory (Private Memory in Open-
Global Memory: la memoria principale CL): memoria dedicata ad ogni work-item e non
della scheda accessibile in lettura/scrittura accessibile a nessun altro elemento del kernel.
dallhost e da tutti i thread (work-item) e i Nella pagina precedente viene riportato uno
block (work-group) dello spazio tridimensio- schema relativo alla memoria in OpenCL (Fig.
nale in cui risulta suddiviso il kernel. 12) e Cuda (Fig. 13). La Global e la Costant
Constant Memory: rappresenta una regione Memory vengono indicate allo stesso modo nei
della global memory accessibile in sola lettu- due linguaggi; da notare la presenza di una pic-
ra dagli elementi del kernel, mentre lhost pu cola cache allinterno delle unit elementari di
accedervi in lettura/scrittura computazione.
Shared Memory (Local Memory in Open- Analizzando pi in dettaglio le caratteristiche
CL): accessibile solo ai work-item appartenenti del linguaggio OpenCL, la computazione del ker-
allo stesso work-group. Generalmente di pic- nel viene preceduta da una serie di step sequenziali:

52 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 52 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

1 definizione della piattaforma di esecuzione to ad OpenCL, per cui lallocazione delle risorse
costituita da un host connesso a uno o pi Open- risulta sicuramente pi facile al programmatore
CL device; Cuda. OpenCL, invece, fornisce funzioni di pi
2 selezione dei device OpenCL validi; basso livello che devono essere gestite dallo svi-
3 costruzione di un contesto, cio di un am- luppatore, il quale provvede quindi ad inizializza-
biente che racchiude linsieme di device, code, re tutte le risorse necessarie allesecuzione dei/l
dati e programmi OpenCL ; kernel (piattaforma, device, contesto, code di ese-
4 compilazione e creazione di programmi cuzione, dati e programmi, compilazione ed ese-
OpenCL composti da uno o pi eseguibili con as- cuzione del kernel). Seppure tale approccio for-
sociati uno o pi kernel; nisca maggior flessibilit nella gestione delle ri-
5 creazione dei dati necessari alla computa- sorse hardware e software, appare comprensibil-
zione OpenCL; mente meno usabile rispetto al linguaggio Cuda.
6 esecuzione dei kernel e visualizzazione In tale ottica sarebbe auspicabile incapsulare le
dei risultati. attivit pi di basso livello allinterno di funzioni
Questa metodologia di calcolo parallelo ri- e costituire quindi alcune librerie che consentono
sulta essere pi veloce, di almeno 1-2 ordini di di astrarre fortemente le fasi di inizializzazione
grandezza, della computazione basata su calcolo del contesto di esecuzione del kernel.
sequenziale. Una delle scelte pi critiche per lo sviluppa-
tore quella di definire la dimensione dei work-
GPU COMPUTING: CUDA VS OPENCL item da mandare in esecuzione, fattore che con-
Lo sviluppo di programmi paralleli supportati diziona fortemente lefficienza con cui viene ese-
dal co-processing fra CPU e GPU comporta una guito un programma. In entrambi i linguaggi, i
serie di problemi legati alla difficile conversione thread (work-item) vengono partizionati in warp
dei concetti relativi alla programmazione sequen- (Cuda - Fig. 15) e wavefront (OpenCL - Fig. 16),
ziale nella corrispondente versione parallela. cio in gruppi di unit di computazione che ven-
Nella programmazione sequenziale, il micro- gono eseguiti e schedulati contemporaneamente.
processore elabora i dati sulla base delle istruzio- In genere i warp vengono ulteriormente suddi-
ni fornite in modo unidirezionale: ogni parte di visi in half-warp che contengono un numero di
codice viene eseguita da un solo thread, evitando thread pari alla met di un warp. La dimensione
quindi i problemi tipici della parallelizzazione del warp (wavefront) dipende dal tipo di scheda
(accesso concorrente a dati condivisi e sincroniz- grafica: nelle schede grafiche Nvidia e AMD il
zazione di processi paralleli). numero di work-item (thread) rispettivamente
Il passaggio da una versione del codice sequen- di 32 e 64.
ziale a una versione parallela unattivit che richie-
de capacit e impegno, poich esistono vari oggettivi TECNICHE DI OTTIMIZZAZIONE DELLE
elementi di difficolt insiti nella natura propria del PRESTAZIONI
parallelismo. La commistione delle istruzioni da ese- Per migliorare laccesso ai dati e quindi le
guire lato-host (CPU) e lato-device (GPU), il trasfe- prestazioni complessive del sistema necessa-
rimento dei dati da CPU a GPU (Fig. 14) e viceversa rio utilizzare la tecnica degli accessi coalescen-
sono solo alcune delle tematiche che comportano dif- ti. Gli accessi alla memoria globale sono coale-
ficolt nello sviluppo delle applicazioni su GPU. scenti se work-item con id consecutivi accedono
Le API considerate (Cuda e OpenCL) hanno con la stessa istruzione a locazioni contigue di
notevoli differenze sia dal punto di vista formale memoria. In tal modo tutti i singoli accessi del
che sostanziale. Una di esse riguarda il livello di wavefront vengono unificati in un unico accesso
astrazione che in Cuda molto maggiore rispet- alla zona di memoria interessata e i dati vengo-

geologia tecnica & ambientale, 2014/2, pp. 33-71 53

GTA 02 - Art 03 Spina mod.indd 53 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

no trasferiti con una velocit prossima alla ban- Fattore strutturale importante per il corret-
da massima consentita dalla global memory. In to dimensionamento delle unit del Kernel da
figura 17 si nota la differenza fra accessi coale- mandare in esecuzione la granularit dei work-
scenti, allineati sequenzialmente su una regione item. In alcuni casi possibile razionalizzare il
localizzata di memoria e accessi non coalescenti numero dei work-item da mandare in esecuzione,
dove non esiste alcuna corrispondenza biunivoca assegnando a ciascuno di essi pi attivit da svol-
di sequenzialit fra indirizzi di memoria e id dei gere: questo si verifica quando esistono operazio-
work-item. ni ridondanti fra work-item che possono essere
Altri problemi inerenti al GPU Computing riunificate.
riguardano la sincronizzazione che pu essere di La presenza di cicli iterativi/condizionali nel
due tipi: kernel un altro fattore che pu comportare per-
sincronizzazione tra work-item appartenenti dita di efficienza durante lesecuzione. Abbiamo
allo stesso work-group; in precedenza parlato della necessit di suddi-
sincronizzazione tra comandi relativi a una o videre i thread in warp (Cuda) e i work-item in
pi code associate allo stesso contesto. wavefront (OpenCL) per consentire lesecuzione
Nel primo caso si utilizzano le barriere a li- contemporanea della stessa istruzione ai thread
vello di work-group: ogni work-item apparte- (work-item) appartenenti allo stesso warp (wa-
nente allo stesso work-group raggiunta la bar- vefront): in tal modo il costo computazionale
riera blocca la sua esecuzione che riprender solo
quando tutti gli altri work-item lavranno rag- a
giunta. Nel secondo caso, per i comandi appar-
tenenti alla stessa coda si utilizza una barriera,
mentre per comandi inseriti in code diverse la
sincronizzazione avviene associandogli un even-
to; lesecuzione dei comandi sar possibile solo al
verificarsi di esso.

Fig. 17 Esempi di accessi coalescenti e non. Fig. 18 Esempi di assenza (a) e presenza (b) di bank-conflicts.
Fig. 17 Examples of coalescent and no-coalescent accesses. (www.fsc.ufsc.br Fig. 18 Examples of absence (a) and presence (b) of bank-conflicts. (http://homes.
modificato) di.unimi.it/~pedersini)

54 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 54 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

richiesto per il fetch/execute per istruzione ri- che fanno decadere le prestazioni: basti pensare
sulta ammortizzato dal gran numero di thread che mediamente un processore impiega 4 cicli
(work-item) coinvolti. Se lesistenza di un ciclo di clock per lesecuzione di una istruzione in un
condizionale (if o switch) determina un branch warp e 500-600 cicli per un singolo accesso alla
articolato in percorsi specifici dipendenti dallid memoria globale. Le modalit per ridurre sensi-
del thread (work-item), il tempo di esecuzione bilmente i tempi di latenza sono state dettaglia-
del warp (wavefront) risentir di un ritardo lega- tamente descritte precedentemente.
to al completamento di tutti i rami di esecuzione
esistenti. La stessa perdita di efficienza potrebbe I.N.G.V. (SEZ. CATANIA): UFGM E TECNOLAB
aversi nel caso di cicli iterativi (for, while) di lun- LUnit Funzionale Gravimetria e Magneti-
ghezza differente per gli elementi appartenenti smo (UFGM) la struttura di ricerca e moni-
allo stesso warp (wavefront). In ogni caso sareb- toraggio che ha lo scopo di promuovere, coordi-
be opportuno, se possibile, ricorrere a strategie nare e svolgere studi e osservazioni dei campi di
alternative di programmazione per evitare di in- potenziale ed elettromagnetici. In collaborazione
correre nei suddetti problemi: si tratta comunque con le altre UUFF, lUFGM svolge ricerche di
di tecniche di ottimizzazione abbastanza com- modellistica fisico-matematica dei processi vul-
plesse da utilizzare, che rendono difficoltoso lo canici per la valutazione della pericolosit, svi-
sviluppo del programma. luppa ed applica tecniche satellitari orientate al
Un meccanismo che comporta una serializ- monitoraggio vulcanico, e assicura la simulazio-
zazione degli accessi in memoria il cosidetto ne delle colate di lava per la previsione delle aree
bank-conflicts (Fig. 18a e Fig. 18b). La shared potenzialmente esposte.
memory (local memory in OpenCL) in alcu- LUFGM si avvale, in collaborazione con il
ni modelli di schede grafiche costituita da 16 Dipartimento di Ingegneria Elettrica Elettro-
banchi di memoria (GeForce 8x), mentre in quel- nica e dei Sistemi dellUniversit di Catania, del
le pi recenti da 32 (Fermi): essa pu soddisfa- Laboratorio di Tecnologie dei Sistemi Dinamici
re simultaneamente le richieste di un numero per la Geofisica dei Vulcani per la formazione
di thread pari al numero di banchi di memoria scientifica e tecnologica di giovani specialisti.
presenti. Ogni banco di memoria pu eseguire LUFGM si avvale di sistemi osservativi e di
un solo thread per ogni ciclo di clock: se i thread laboratori per progettare, sviluppare e gestire le
appartenenti allo stesso half-warp accedono allo attivit di monitoraggio gravimetrico, magnetico
stesso banco si verifica un bank-conflict. In tal ed elettrico dei vulcani attivi siciliani e delle aree
caso lultimo thread che accede al banco risulta tettoniche dinteresse della Sezione di Catania.
accodato e deve attendere che lelaborazione del Sistemi osservativi:
precedente thread si completi: lesecuzione non rete gravimetrica permanente;
sar pi parallela ma sequenziale. comunque rete geoelettrica permanente;
possibile ovviare a tale problema attraverso spe- rete magnetica permanente;
cifiche tecniche di programmazione che consen- rete gravimetrica discreta;
tono di evitare laccesso multiplo di thread per Laboratori:
singolo banco di memoria. laboratorio di gravimetria;
Nel paragrafo precedente abbiamo discusso laboratorio di geomagnetismo.
della necessit di saturazione dellhardware per
ottenere vantaggi prestazionali; questo meccani- LUFGM ha lambizione di diventare scuola di
smo pu essere considerato, a pieno titolo, una formazione scientifica e tecnologica del persona-
importante tecnica di ottimizzazione. Gli accessi le che opera a tempo pieno nel monitoraggio dei
alla memoria globale inducono tempi di latenza vulcani siciliani. Questo proposito perseguito

geologia tecnica & ambientale, 2014/2, pp. 33-71 55

GTA 02 - Art 03 Spina mod.indd 55 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

attraverso il TecnoLab (Laboratorio di Tecnologie sia lottimizzazione dei componenti del Kernel da
dei Sistemi Dinamici per la Geofisica dei Vulca- mandare in esecuzione sia la possibilit di eseguire
ni), istituito nel 2001 in convezione con il Dipar- la simulazione su differenti architetture hardware,
timento di Ingegneria Elettrica, Elettronica e dei svincolandola da specifiche costrizioni computa-
Sistemi della Facolt di Ingegneria dellUniversit zionali: la pi recente versione di MagFlow stata
di Catania, che si prefigge di incentivare la forma- implementata in Cuda che, per lesecuzione, richie-
zione di gruppi misti di ricerca nelle aree dellIn- de necessariamente device Nvidia.
gegneria dei sistemi e della Matematica per le tec- La fase di progettazione stata condizionata
nologie applicate alla Geofisica dei vulcani attivi. da questa doppia esigenza: si scelto di reimple-
I principali obiettivi del TecnoLab sono: mentare la fase a basso livello con una sintassi
favorire lo scambio di conoscenze scientifiche C++ e di tradurre lapplicativo in linguaggio
e di metodologie di ricerca attraverso lorga- OpenCL per fornire vantaggi prestazionali e in-
nizzazione di seminari di studio; dipendenza dalla specifica piattaforma di esecu-
promuovere la formazione di giovani specia- zione. La strutturazione delle classi e del Kernel
listi seguendo con personale proprio i lavori riflettono quindi questa duplice necessit.
di ricerca di tesi di laurea, borse di studio e Per inquadrare compiutamente i requisiti che
dottorati di ricerca. MagFlow deve supportare sono stati proposti
In questi anni il TecnoLab ha attivato e seguito differenti scenari, spiegati attraverso le seguenti
numerosi dottorati di ricerca che sono stati im- persone:
piegati nelle attivit di monitoraggio dei vulcani Marco 50 anni. Marco un ricercatore
siciliani condotte dallUFGM. dellI.N.G.V. (Istituto Nazionale di Geofisica e Vul-
Il responsabile scientifico del TecnoLab il canologia) impegnato nello studio e monitoraggio
dott. Ciro Del Negro. dei fenomeni vulcanici. Ha partecipato a diversi
progetti di studio in aree vulcaniche attive, ed
REQUISITI attualmente impegnato nello studio del rischio di
I requisiti del software da implementare par- possibili eruzioni laterali del vulcano Etna.
tono da uno studio preliminare del dominio dap- Francesco - 35 anni. Francesco, ingegnere in-
plicazione. MagFlow un software che si occupa formatico della Protezione Civile di Catania, si
di simulazioni di flussi lavici utilizzato in occasio- occupa di gestire lemergenza in occasione di fe-
ne di eventi vulcanici. In tali situazioni il fattore nomeni vulcanici che possano interessare centri
tempo fondamentale per prevedere la direzione abitati, prevedendo levoluzione del flusso lavico
di deflusso della colata lavica che potrebbe inve- attraverso un apposito software di simulazione.
stire manufatti e, in situazioni pi estreme, interi
centri abitati. La direzione della colata lavica e SCENARIO #1: ATTIVIT VULCANICA
lenergia associata dipendono da diverse varia- Da qualche giorno lEtna ha iniziato un in-
bili: tasso di emissione alle bocche, morfologia tensa attivit parossistica: la fase pre-eruttiva
del terreno, presenza di canali lavici dovuti ad stata preceduta da transienti del tremore vulca-
ingrottamento, reologia del magma solo per ci- nico fortemente energetici, che fanno presagire
tarne alcuni. ad una notevole attivit effusiva. La colata lavica
Risulta fondamentale mettere in atto tecniche si da qualche ora incanalata lungo un alveo na-
che consentano di ridurre i tempi di esecuzione turale il cui percorso interseca labitato della cit-
delle simulazioni laviche, ristrutturando il softwa- tadina di Nicolosi. Francesco, che gi nel passato
re gi esistente con lutilizzo di adeguate strate- ha gestito situazioni di analogo rischio vulcanico,
gie che siano in grado di diminuire sensibilmente dopo aver effettuato diversi rilievi in loco e map-
sprechi di tempo. Le tecniche adottate riguardano pato sulla carta topografica il possibile percorso

56 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 56 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

della lava, ricorre al software MagFlow per si- dellattivit eruttiva, inizia ad ingrottarsi alle alte
mulare il probabile deflusso lavico. Dopo qualche quote del vulcano. Capisce quindi che necessario
ora dallinizio della simulazione lelaboratore, estendere il software con ulteriori parametri che
dotato di scheda grafica Nvidia, si arresta. Vani tengano conto della distorsione, indotta entro il
sono i tentativi di far ripartire la macchina: un tubo di flusso, dallattrito del magma sulle pareti
problema hardware o software ne impedisce il del canale e dalla componente della forza centrifu-
corretto funzionamento. Essendo stata realizzata ga nei tratti curvilinei del percorso.
in Cuda, la simulazione deve essere riprodotta su Le modifiche da apportare risultano notevol-
una macchina dotata di scheda grafica Nvidia che mente agevolate dalla progettazione ad oggetti
non risulta essere disponibile in loco. I tecnici, adottata per il software. Marco non deve riscrive-
nel contempo, informano il responsabile che la re intere parti del programma ma semplicemente
colata, in seguito alla canalizzazione, ha ripreso estenderlo, prevedendo unapposita classe che si
vigore e quindi esiste una concreta minaccia per occupi di fornire la nuova funzionalit.
il centro abitato. Le autorit chiedono informa-
zioni sulla probabilit che, nei giorni successivi, MODELLAZIONE BASATA SUGLI SCENARI:
la colata possa raggiungere il centro abitato in CASI DUSO
modo da poter eventualmente organizzare le- CASO DUSO: SIMULAZIONE FLUSSO LAVICO
vacuazione. A questo punto Francesco non ha Attore: Ricercatore.
possibilit di prevedere, entro tempi ragionevoli Obiettivi: simulare il percorso di una colata
il possibile percorso della colata. Una telefona- lavica.
ta, da parte di un collega dellINGV, lo informa Precondizioni: Il ricercatore in possesso
che qualche mese addietro stata realizzata una del file delle registrazioni di alcuni importan-
versione OpenCL del software MagFlow. Gra- ti parametri fisici. Il file delle registrazioni non
zie al porting Cuda-OpenCL possibile eseguire deve essere vuoto.
MagFlow su qualsiasi tipo di device: Francesco Descrizione: Il ricercatore vuole simulare
pu riavviare la simulazione e fornire le notizie il deflusso di una colata lavica per prevederne
richieste per la gestione dellemergenza. il probabile percorso. I risultati dellelaborazio-
ne parallela vengono forniti in input ad un pro-
SCENARIO #2: RICERCA SCIENTIFICA gramma che visualizza graficamente i risultati
Marco sta svolgendo un progetto di ricerca dellelaborazione.
che riguarda lottimizzazione del software di si- Passi:
mulazione MagFlow. In occasione di eventi vul-
canici che hanno interessato alcuni vulcani attivi,
sono state infatti notate alcune differenze fra la Azioni attore Risposte sistema
direzione del flusso lavico prevista dalla simula-
1. Avvia il programma 2. Inizializzazione
zione e la direzione seguita durante il protrarsi
delle risorse
dellattivit eruttiva. hardware e software
Nella sua carriera di ricercatore Marco si fre-
quentemente occupato dello sviluppo di simulato- 3. Avvio elaborazione
ri relativi a svariati fenomeni fisici, impegnandosi dei dati tramite
Automa Cellulare
spesso anche nella definizione del modello fisico
associato. Analizzando MagFlow e comparando i 4. Interruzione della
casi in cui si avuta incoerenza fra dati reali e dati computazione dopo
simulati intuisce che il problema si verifica quan- un intervallo di
tempo prefissato.
do il flusso lavico, dopo qualche giorno dallinizio

geologia tecnica & ambientale, 2014/2, pp. 33-71 57

GTA 02 - Art 03 Spina mod.indd 57 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

SVILUPPO DEL SOFTWARE


5. Salvataggio Lo sviluppo del software stato incentrato sul
dei dati numerici paradigma delle programmazione ad oggetti, che
e trasferimento
ha consentito una modularizzazione del sistema
nella memoria host
software. Lentit fondamentale della progetta-
6. Avvia il software di 7. Caricamento zione object-oriented (OO) la classe, costituita
simulazione grafica dei dati numerici da attributi e metodi.
precedentemente Durante la fase di progettazione sono state
elaborati
identificate diverse classi e per ciascuna di esse
8. Simulazione sono stati definiti i corrispondenti metodi e at-
del percorso della tributi. I metodi rappresentano le operazioni che
colata lavica possono essere eseguite, mentre gli attributi cor-
rispondono ai dati. Ad esempio, se consideriamo
Postcondizioni: Il file esiste e sono presenti una classe che contiene dati estratti da un data-
dati di tipo corrispondente a quelli richiesti. base un suo attributo pu essere rappresentato
Eccezioni: il file vuoto o non esiste. Non dal numero di righe relative a una tabella pre-
possibile caricare i dati attraverso un file esterno. sente in esso. Inoltre, la stessa estrazione dei dati
pu essere effettuata attraverso un metodo; esso
Nel riquadro sottostante viene riportato il costituito da una serie di regole (algoritmi) e
grafico relativo al caso duso SIMULAZIONE rappresenta unoperazione che pu essere ese-
FLUSSO LAVICO: guita su una istanza della classe. Utilizzando tale
paradigma, lintero sistema software definito
dalle classi e dalle loro interazioni. La letteratu-
ra conferma che il codice progettato in modalit
object-oriented pi gestibile, cio pi semplice
e riutilizzabile, rispetto al codice che non utilizza
questo stile di programmazione.
La fase di progettazione ha riguardato la de-
finizione delle interfacce, dei componenti, delle
strutture dati e degli algoritmi. Per semplificare
la comprensione dei requisiti sono stati realizzati
diagrammi dei casi duso, che descrivono il com-
portamento del sistema e le funzionalit presenti,
viste dallesterno. In questi diagrammi, gli attori
sono persone o sistemi, esterni al prodotto, che
possono interagire con esso. Il ruolo dellattore
specificato attraverso un nome scritto sotto un
apposito simbolo (omino stilizzato). Il caso duso
specifica una delle funzionalit del sistema visibi-
li dallesterno e viene indicato con una ellissi che
contiene una descrizione interna.
Nelle figure 18-19 viene riportato il caso du-
so Simulazione flusso lavico. In esso lattore il
Fig. 19 (in alto) Caso duso Simulazione flusso lavico. ricercatore, il cui obiettivo quello di eseguire
Fig. 19 Use Case Simulation of lava flow. il programma di simulazione fornendo, in input,

58 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 58 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

Fig. 20 (in alto) Diagramma delle classi.


Fig. 20 Class diagram.

Fig. 21 Diagramma di sequenza.


Fig. 21 Sequence diagramm.

geologia tecnica & ambientale, 2014/2, pp. 33-71 59

GTA 02 - Art 03 Spina mod.indd 59 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

un file in cui sono memorizzati i valori relativi ad razione del contesto per lesecuzione dellautoma,
alcuni parametri fisici relativi al vulcano. Il file di sia durante lesecuzione del/dei kernel che nella
output, ottenuto al termine della computazione, successiva fase di rilascio delle risorse impiegate.
viene passato come input ad uno specifico pro- Le ulteriori fasi di sviluppo hanno riguardato
gramma che riproduce, in modalit grafica, la si- limplementazione ad oggetti della parte a basso
mulazione. Le precondizioni per il successo della livello e il testing volto alla individuazione e cor-
procedura sono che il file delle registrazioni sia rezione dei bug che inevitabilmente il software
disponibile al ricercatore e che non sia vuoto. presenta al termine della fase di sviluppo.
La figura 20 mostra il diagramma delle classi Lo step finale ha riguardato la riscrittura, in
in forma semplificata allo scopo di facilitarne la OpenCL, delle funzioni e dei precedenti kernel
comprensione. Questo diagramma riguarda lin- scritti in Cuda, garantendo un porting completo
terazione fra le varie classi, con la superclasse del programma preesistente.
(SetupGPU) che raggruppa tutte le sottoclas-
si che si occupano dellinizializzazione/rilascio AUTOMI CELLULARI
delle risorse hardware/software impegnate nel- Lautoma cellulare un modello matematico
la computazione parallela (PlatformSelection, che consente di descrivere levoluzione di com-
DeviceSelection, Context, Kernel, ReleaseCom- plessi sistemi deterministici, in cui lo stato di
mand). La classe astratta CellularAutomaton, ogni elemento dipende da quello in cui si trovano
definita interamente con funzioni virtuali pure, i suoi vicini. In tal modo possibile riprodurre
ha invece il significato di interfaccia per la clas- fenomeni il cui risultato finale dipende dalle in-
se concreta MagFlow che implementa i metodi terazioni esistenti fra gli elementi costituenti il
dichiarati nella superclasse. La classe UsaGPU sistema: lutilizzo comune riguarda i settori della
costituisce il ponte di collegamento fra lautoma Biologia, Geologia, Matematica, Astronomia.
cellulare e linsieme delle classi derivate da Se- Ci che colpisce che lestrema semplicit
tupGPU: rappresenta quindi uninterfaccia che delle caratteristiche del modello antitetica ri-
consente allautoma laccesso indiretto alle fun- spetto alla grande complessit di comportamenti
zionalit di basso livello. che esso in grado di generare: fin dalla prima
Nel diagramma di sequenza vengono riportate pubblicazione di studi di Ulam e Von Newmann
le interazioni fra gli oggetti esistenti a run-time: si intu che era possibile trattare questioni alta-
tale diagramma pu essere considerato come mente complesse come luniversalit computa-
unistantanea dellesecuzione del software. In zionale e la distinzione fra caos e complessit.
verticale riportato lasse dei tempi durante le- La struttura di un automa costituita da una
secuzione, mentre in orizzontale sono presenti i griglia in cui ogni elemento rappresentato da
vari oggetti istanziati. In ciascuna colonna ver- un quadratino (cella): le dimensioni delle celle
ticale, se loggetto stato istanziato viene ripor- sono definite in base al grado di dettaglio richie-
tata una linea tratteggiata; se invece loggetto sto. Ogni porzione di superficie deve contenere
ha codice in esecuzione, o in attesa di riprendere un numero finito di celle, ciascuna delle quali pu
lesecuzione dopo una chiamata, presente un assumere soltanto un numero finito di stati (ad
rettangolo di attivazione. Una freccia che col- es. 0-1, vivo-morto, un colore, una forma o un
lega il rettangolo di attivazione di un oggetto numero diverso per ogni stato,..). Per ogni cella
ad un altro corrisponde ad un messaggio: frecce necessario definire linsieme delle celle che pos-
piene indicano comunicazione sincrona, frecce sono essere considerate vicine ad essa. Allistante
vuote comunicazione asincrona. iniziale ad ogni elemento viene attribuito un de-
Il diagramma di sequenza di figura 21 riporta terminato stato: linsieme di tutti gli stati asso-
le interazioni fra gli oggetti sia durante la prepa- ciati alle celle definisce lo stato iniziale dellauto-

60 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 60 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

ma. Trascorso un certo intervallo di tempo, sulla per una forte dipendenza dalla geometria della
base di un insieme di regole predeterminate (che cella e dalla posizione del flusso rispetto agli
cambiano da automa ad automa), ogni cella cam- assi di simmetria della cella. Per risolvere que-
bier stato contemporaneamente a tutte le altre: sto problema di anisotropia rispetto agli assi,
il cambiamento dipender dallo stato preesisten- lalgoritmo su cui basato lautoma utilizza il
te e da quello delle celle vicine. metodo Monte Carlo, per ridurre al minimo le
Prima di passare alla fase implementativa, possibili distorsioni del flusso (Bilotta et alii,
stato necessario comprendere il comportamento 2010).
generale degli automi cellulari e poi, pi in det- Parlando pi in dettaglio della sua struttura,
taglio, analizzare le caratteristiche dellautoma in il core dellapplicazione risulta costituito com-
oggetto. plessivamente da quattro kernel:
1) Erupt eseguito solo su celle relative
MAGFLOW alle bocche eruttive: calcola il tasso effusivo ad
MagFlow un software realizzato in lin- un dato istante;
guaggio Cuda dagli studiosi dellINGV e uti- 2) CalcFlux eseguito su ciascuna cella at-
lizzato, dalla Protezione Civile, come modello tiva: calcola il flusso in ingresso e uscita rispet-
di simulazione di colate laviche in occasione di to alle sue 8 celle pi vicine;
eventi eruttivi dellEtna. Lapplicativo, basato 3) Reduction calcola il massimo timestep
sul modello ad automi cellulari, consente di permesso;
prevedere la direzione di scorrimento dei flussi 4) UpdatesCelles eseguito su ciascuna
magmatici, che dipende da numerose variabili cella attiva di cui aggiorna lo stato.
fisico-chimiche. La prima versione di MagFlow fu scritta per
Le colate laviche sono rappresentate da un essere eseguita in modo sequenziale su CPU e
mezzo multifase e multicomponente il cui spo- successivamente tradotta, in linguaggio Cuda
stamento dipende da diversi parametri fisici: (Bilotta et alii, 2010), in una versione paralle-
temperatura, reologia, cristallizzazione solo la per lesecuzione su GPU. Limplementazione
per citarne alcuni. Il modello ad automi cellu- della proto versione GPU non presentava sin-
lari basato su una griglia di celle che sono tassi ad oggetti ma procedurale: il codice host e
aggiornate in modo sincrono in base a regole device risultava commisto allinterno dellunica
locali determinate dalla funzione di evoluzio- classe presente. Il passaggio sequenziale-pa-
ne. Tali regole dipendono dal valore della cella rallelo su GPU ha consentito un guadagno, sui
considerata e di quelle vicine entro una presta- tempi di esecuzione, di circa 2 ordini di gran-
bilita distanza. In tal modo lautoma riproduce dezza.
strutture molto complesse dallevoluzione di
regole locali abbastanza semplici. DIAGRAMMI DELLE ATTIVIT CON
Gli stati dellautoma sono rappresentati dal- SWIMLANE
lo spessore della lava e dalla quantit di calore. I diagrammi delle attivit con swimlane per-
La funzione di evoluzione, che consente lag- mettono di rappresentare il flusso di attivit de-
giornamento delle celle, una soluzione di sta- scritte dal relativo caso duso e allo stesso tempo
to stazionario delle equazioni di Navier-Stokes di indicare quale attore ha la responsabilit per
per il moto di un fluido di Bingham su un piano lazione descritta. Di seguito viene riportato il
orizzontale soggetto ad una pressione; in tale diagramma per il principale caso duso:
contesto la conservazione della massa garan- DIAGRAMMA DELLE ATTIVIT RELATIVO
tita sia localmente che globalmente. AL CASO DUSO: SIMULAZIONE FLUSSO LAVICO
Questo genere di funzione di evoluzione ha

geologia tecnica & ambientale, 2014/2, pp. 33-71 61

GTA 02 - Art 03 Spina mod.indd 61 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

COMPONENTI DELLAPPLICAZIONE se necessarie allelaborazione dei dati e che


MagFlow costituito dai seguenti compo- esegue, sequenzialmente, uno o pi kernel
nenti software: Uno o pi componenti (Kernel) eseguiti sulla
GPU in modalit parallela.

DETTAGLI IMPLEMENTATIVI
La struttura generale dellapplicazione se-
gue la progettazione object-oriented: in tal
modo ciascun modulo (classe) svolge una fun-
zionalit specifica che consente di semplificare
sia la fase di sviluppo che leventuale estensio-
ne di classi per laggiunta di ulteriori funzio-
nalit.
Il software MagFlow stato implementa-
to in linguaggio C++ e si appoggia ad un set
di classi che operano a basso livello: esse con-
sentono di inizializzare un ambiente specifico,
allocando risorse hardware e software, per la
corretta esecuzione dei singoli Kernel.
Ciascuna delle classi derivate dalla classe
Fig. 22 Diagrammi di swimlanes. SetupGPU eredita alcune variabili statiche de-
Fig. 22 Swimlanes diagram. finite nella superclasse, che interagiscono nelle
fasi di definizione del contesto di esecuzione: la
struttura che ne deriva alquanto complessa
ma semplifica notevolmente la gestione delle
Un componente che seleziona la piattaforma porzioni pi primitive del codice.
di esecuzione. In particolare le classi PlatformSelection e
Un componente che seleziona i device dispo- DeviceSelection si occupano di definire il tipo
nibili. di piattaforma e i device da utilizzare resti-
Un componente che inizializza il contesto di tuendo, nel contempo, le informazioni inerenti
esecuzione. alle caratteristiche dellhardware in esame. Le
Un componente che rilascia i buffer di memo- altre sottoclassi garantiscono linizializzazione
ria e le risorse impegnate nella computazione. della parte software, di alcune strutture dati
Un componente che si occupa della gestione annesse (code) e il rilascio delle risorse har-
del Kernel. dware e software utilizzate:
Un componente che gestisce linizializzazio- 1) la classe Context si occupa della creazio-
ne delle risorse hardware e software di basso ne del contesto di esecuzione, della creazione
livello, che si occupa del mapping dei buffer del programma e dellinserimento dei comandi
di specifici oggetti e funge da interfaccia per in una coda di esecuzione OpenCL;
accedere alla funzioni di basso livello. 2) la classe Kernel si occupa della creazione
Un componente che si occupa della gestione e dellesecuzione del kernel, del passaggio de-
dellinput-output; gli argomenti e del trasferimento dei dati ela-
Uno o pi componenti che interagiscono con borati alla memoria host;
altri componenti per lallocazione delle risor- 3) la classe ReleaseCommand dealloca le ri-
sorse impegnate nellesecuzione del Kernel (pro-

62 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 62 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

Fig. 23 Design pattern Facade relativo alla classe UsaGPU che consente di astrarre le fasi a basso livello gestite allinterno delle sottoclassi di SetupGPU.
Fig. 23 Design Facade pattern for the class UsaGPU that allows you to abstract the low-level stage managed within subclass SetupGPU.

gramma, coda, contesto e buffer di memoria) se e molto diverse tra loro, nonch a blocchi di
La classe SetupGPU assume il significato codice complessi. La funzione initSetupGPU(),
di singleton nel contesto generale dellappli- definita in tale classe, si occupa dellinizializza-
cazione. Il singleton fa parte dei design pat- zione delle risorse di basso livello.
tern creazionali che si occupano di controllare UsaGPU centralizza le richieste che gli au-
la creazione e la gestione dellesistenza di un tomi cellulari devono effettuare ai vari oggetti
oggetto. In particolare il singleton ha lo scopo derivati da SetupGPU effettuando il seguente
di garantire che di una specifica classe venga mapping preliminare:
creata una ed una sola istanza e di fornire un nome kernel > nome buffer;
punto di accesso globale a tale istanza. nome buffer > puntatore buffer.
A tal fine viene utilizzato il metodo getIn- La gestione delle chiamate da parte di Mag-
stance(), presente in SetupGPU, per ottenere flow per lallocazione dei buffer di memoria
lunica istanza di tale classe. nella memoria host e device e la creazione
La classe UsaGPU pu essere assimilata al ed esecuzione dei kernel risulta semplificata
design pattern Facade (Fig. 23) che permette, at- dallesistenza di queste strutture associative
traverso uninterfaccia pi semplice, laccesso a che tengono traccia delle relazioni biunivoche
sottosistemi che espongono interfacce comples- (nome buffer > puntatore buffer) ed univoche

geologia tecnica & ambientale, 2014/2, pp. 33-71 63

GTA 02 - Art 03 Spina mod.indd 63 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

(nome kernel > nome buffer). RAM: 4 GB DDR3 Memory


Per lassociazione chiave > valore sono 500 GB HDD
stati utilizzate due apposite strutture dati pre-
senti nel linguaggio C (set e multiset) che con- I test successivi sono stati effettuati su un PC
sentono di semplificare notevolmente lo svi- ASUS N56VZ con le seguenti caratteristiche:
luppo di strutture associative. Il comando set Sistema Operativo: Linux Ubuntu 12.04 32 bit;
consente un associativit uno a uno, mentre Processore: Intel Core i7-3630QM (2.4 GHz)
multiset uno a molti. Scheda grafica: NVIDIA GeForce GT 650M
Supponiamo, ad esempio, che a run-time sia 2 GB
stato istanziato un oggetto MagFlow (Fig. 21): RAM: 16 GB DDR3 1600 MHz
durante il suo ciclo vitale esso delegher alla 750 GB HDD SATA 7200 rpm (8 GB cache
classe UsaGPU il controllo e coordinamento SSD)
dellaccesso alle altre classi per ottenere ser-
vizi specifici. In altre occasioni MagFlow ac- Le caratteristiche della scheda grafica, in
ceder direttamente alle risorse offerte dagli ambiente Cuda, relative ai 2 PC sono riportate
altri oggetti: la funzione creaKernel(), defini- in Fig. 24a e in Fig. 24b.
ta nella classe UsaGPU, instanzia il kernel e Lo scarto di prestazione fra i due sistemi
restituisce il puntatore alloggetto creato che risulta essere abbastanza contenuto: nella pri-
verr memorizzato in un apposito array. ma macchina lesecuzione OpenCL, dei quattro
Successivamente il metodo mainloop(), de- kernel di MagFlow, risulta essere pi veloce
finito in MagFlow, si occuper di scansionare dellesecuzione Cuda, di qualche decina di mil-
il vettore ed eseguire, in successione, le diverse lisecondi. Gli stessi test effettuati sulla secon-
istanze del kernel (Erupt, CalcFlux, Reduction da macchina hanno, in linea di massima, con-
e UpdatesCelles). Discorso analogo avviene fermato gli scarti precedenti.
per lesecuzione degli oggetti Kernel relati-
vi ad altre eventuali sottoclassi derivate dal- CONCLUSIONI
la classe astratta CellularAutomaton (Automa stato affrontato il problema relativo al
Cellulare). rischio vulcanico dellarea etnea, in rappor-
Infine, la classe IO si occupa dellinput-ou- to alle possibili invasioni di colate laviche nei
tput gestendo le fasi di apertura, chiusura, sal- centri abitati posti alla falde dellEtna. Grazie
vataggio dei dati che devono essere elaborati allevoluzione delle caratteristiche computa-
dalle applicazioni. zionali dei personal computer, stato possibile
realizzare un modello interpretativo dei flus-
RISULTATI si lavici dellEtna, che consente di riprodurre,
Sono state effettuate prove di valutazione in modo affidabile, simulazioni esplicative dei
sulle prestazioni del software Magflow nel- flussi lavici. Il software in questione, denomi-
la versione Cuda e OpenCL. I primi test sono nato MagFlow, realizzato originariamente dai
stati effettuati su un PC Aspire 5755G con le ricercatori dellINGV stato ristrutturato, in
seguenti caratteristiche: versione parallela, dapprima utilizzando il lin-
Sistema Operativo: Linux Ubuntu 13.04 64 guaggio Cuda e, nella versione attuale, attra-
bit; verso il linguaggio OpenCL.
Processore: Intel Core i5 2450M 2.5 GHz Nella fase di sviluppo si , in primo luogo,
with Turbo Boost up to 3.1 GHz studiato il dominio dellapplicazione. In tale
Scheda grafica: NVIDIA GeForce GT 630 fase sono stati considerati sia gli aspetti clima-
M with 1 GB Dedicated VRAM tici, pedologici, idrografici e idrogeologici sia

64 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 64 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

le caratteristiche strutturali-vulcanologiche va dei Monti Rossi di Nicolosi del 1669, il cui


che hanno determinato i lineamenti orografi- fronte lavico raggiunse la citt di Catania.
ci del territorio etneo, modificando e talvolta Riguardo a possibili eventi effusivi che pos-
obliterando gli originari rapporti fra i litoti- sano minacciare lincolumit dei centri abita-
pi affioranti, essendo in pi occasioni causa ti, i potenti mezzi tecnologici possono ridurre
di disagio per le popolazioni ivi residenti. La sensibilmente i rischi derivanti dagli effetti di
ricchezza idrica, dovuta alle acque sotterranee flussi lavici relativi ad attivit centrale e/o late-
discendenti dalle alte quote del vulcano, asso- rale, prevedendone la possibile evoluzione nel
ciata alla fertilit dei terreni lavici ha favorito medio-lungo termine. A tal scopo stato im-
lo sviluppo di una vegetazione rigogliosa e di plementato il software MagFlow, inizialmente
una fauna alquanto variegata. Queste potenzia- in versione sequenziale e poi esteso in forma
lit naturali ricadono per in unarea ad alto parallela (implementazione Cuda). Lapplicati-
rischio sismico e vulcanico. Eventi tettonici e vo basato sul modello fisico ad automi cellu-
vulcanici hanno anche portato, nel tempo, dei lari che risulta vincolato da diversi parametri
benefici al territorio. Le dislocazioni tettoniche fisico-chimici e da variegati meccanismi evolu-
hanno smembrato le rocce vulcaniche, aumen- tivi delle differenti parti della colata. Lanali-
tandone notevolmente la permeabilit e facen- si dei suddetti fenomeni diviene fondamentale
do divenire lEtna il maggior serbatoio idrico per la comprensione sia del modello fisico sia
dellisola. Le colate laviche hanno da un lato delle principali funzionalit offerte dal softwa-
fertilizzato i terreni e dallaltro creato delle re. In tal senso sono stati trattati i meccanismi
attrazioni naturalistiche uniche, identificabili che riguardano la formazione dei canali lavici
nelle oltre duecento grotte di scorrimento la- e le modalit di deflusso della colata lungo i
vico rinvenute nel territorio etneo. pendii del vulcano.
Lattivit sismica sembra essere relaziona- La distribuzione dei canali lavici e i rapporti
ta alla particolare situazione geodinamica del fra le unit di flusso presenti, consentono di
versante orientale dellEtna, influenzata dai ricostruire la complessa storia evolutiva della
movimenti dellimponente struttura tettonica successione di colate presenti nellarea etnea.
nota come scarpata ibleo-maltese, una gros- Il collassamento delle cavit laviche indica che
sa discontinuit che separa due differenti do- lalimentazione alle bocche ha subito sensibili
mini strutturali rappresentati dallavampaese variazioni nel tempo. La diminuzione del tasso
ibleo ad est e dal bacino ionico ad ovest. La demissione rallenta la progradazione del flus-
propagazione nellentrocosta delle dislocazioni so principale provocandone lispessimento: la
associate e conformi alla struttura principa- sovrappressione magmatica, indotta dal bloc-
le, localizzata nelloff-shore ionico, ha gene- co cinematico, determina la rottura dei fianchi
rato violenti sismi conferendo allintera zona della colata. La lava, risalendo attraverso que-
caratteristiche dinstabilit sismica. A queste sti varchi, pu straripare esternamente gene-
vicissitudini tettoniche si aggiungono i rischi rando dei flussi secondari affiancati. Tale feno-
derivanti dalla possibilit dinvasione da parte meno detto di gemmazione o ramificazione,
di colate laviche, da relazionare per lo pi ad avvenendo a pi riprese, da luogo ad argini
eruzioni laterali, cio allapertura di fratture multipli, singolarmente distinguibili per la
eruttive alle basse quote del vulcano. Flussi la- depressione che li accompagna. La subsiden-
vici intensi che hanno prodotto danni alle po- za singenetica della copertura relazionata al
polazioni residenti alle falde del vulcano sono graduale abbassamento di livello del magma
stati abbastanza frequenti sopratutto in tempi dentro il canale: la superficie della colata an-
storici: basti ricordare lintensa attivit erutti- cora allo stato plastico, non pi sostenuta dal-

geologia tecnica & ambientale, 2014/2, pp. 33-71 65

GTA 02 - Art 03 Spina mod.indd 65 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

Fig. 24/A Features of the graphics card (command Cuda deviceQuery): PC1.
Fig. 24/A Features of the graphics card (command Cuda deviceQuery): PC1.

66 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 66 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

geologia tecnica & ambientale, 2014/2, pp. 33-71 67

GTA 02 - Art 03 Spina mod.indd 67 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

Fig. 24/B Features of the graphics card (command Cuda deviceQuery): PC2.
Fig. 24/B Features of the graphics card (command Cuda deviceQuery): PC2.

68 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 68 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

geologia tecnica & ambientale, 2014/2, pp. 33-71 69

GTA 02 - Art 03 Spina mod.indd 69 14/07/14 10:33


G. Bilotta, R. Spina & E. Tramontana

la pressione del magma, sprofonda generando Nel porting Cuda-OpenCL del preesisten-
ampi avvallamenti fra i vari argini. te software MagFlow, la scelta del linguaggio
Parlando pi strettamente della fase di svi- OpenCL stata dettata, in primo luogo, da mo-
luppo si proceduto alla semplificazione della tivi di portabilit: lesecuzione di programmi
struttura sequenziale del programma Mag- scritti in questo linguaggio svincolata da co-
Flow e al relativo porting dal linguaggio Cuda strizioni hardware. possibile, infatti, ricom-
a OpenCL. Le motivazioni di tale scelta sono pilare ed eseguire lapplicativo in macchine e
riconducibili a una serie di vantaggi pratici e device differenti ottenendo sempre gli stessi
computazionali. risultati.
La riorganizzazione tramite il paradigma Altro indiscutibile vantaggio riguarda la
Object-Oriented consente un approccio modu- specifica di OpenCL, che essendo completa-
lare durante la fase di sviluppo. Anche lusabi- mente open presuppone livelli qualitativi
lit del programma trae notevoli vantaggi da adeguati al mercato. Come gi ricordato, que-
questapproccio: risulta molto pi leggibile ed sta specifica gestita dalla Khronos, leader
estendibile il codice ad oggetti rispetto ad un del mercato e dotata di notevole esperienza
codice procedurale. Alcuni dei vantaggi prin- del campo del GPU computing: le principali
cipali legati allutilizzo di questo stile di pro- major del mercato di CPU, GPU e processori
grammazione possono essere riassunti in: embedded sono parte attiva alla realizzazione
1) il raggruppamento del codice in classi fa- del progetto. Tali aziende caratterizzate da
vorisce la modularit e la riusabilit; standard qualitativi elevati nella creazione dei
2) facilitazione nella gestione e manuten- loro prodotti e nel campo della sicurezza infor-
zione di progetti di grandi dimensioni; matica, garantiscono regolari aggiornamenti
3) incapsulamento dei dati. del prodotto che consentono leliminazione dei
La ricca documentazione UML integrata bug ed ulteriori vantaggi computazionali.
nel presente lavoro consente di comprendere, I risultati ottenuti nellesecuzione dei ker-
in modo generale, le caratteristiche e le fun- nel di Magflow rispetto ai corrispondenti im-
zionalit di ciascuna classe (diagramma delle plementati in Cuda, effettuati sulla stessa mac-
classi), linterazione fra oggetti appartenenti a china e con lo stesso sistema operativo, mo-
classi diverse (diagramma di sequenza) e lin- strano una riduzione dei tempi di esecuzione
terazione fra utente e sistema (diagramma dei dellordine di qualche decina di millisecondi. I
casi duso, diagramma di swimlane). risultati dei successivi test, eseguiti su un se-
Lutilizzo della sintassi C/C++, oltre a condo PC, si allineano ai precedenti.
consentire al programmatore la gestione di- Anche lefficienza degli algoritmi utilizzati
retta della memoria permette laccesso diretto risulta buona: non esistono cicli iterativi com-
a diverse system-call. Questi fattori sono fon- putazionalmente onerosi che impegnino risor-
damentali nello sviluppo di software parallelo se hardware e software oltre la media.
GPU-side, le cui caratteristiche intrinseche pre- In conclusione, il presente lavoro dimostra
suppongono trasferimenti continui host-device che gli svantaggi legati a un approccio meno
e intra-device su specifici buffer di memoria pre- astratto rispetto al linguaggio Cuda risultano
ventivamente allocati. Anche la strutturazione compensati dalle opportunit connesse alla
del kernel in unit elementari di computazione estrema portabilit e allefficienza dello stan-
presuppone una gestione diretta e puntuale del- dard proprio del linguaggio OpenCL
la memoria associata. Le chiamate a basso livel-
lo sono invece necessarie nella preparazione del Ringraziamenti
contesto di esecuzione del kernel. Un ringraziamento allINGV sez. di Catania

70 geologia tecnica & ambientale, 2014/2, pp. 33-71

GTA 02 - Art 03 Spina mod.indd 70 14/07/14 10:33


Porting (Cuda/OpenCL) del software MagFlow per la simulazione dei flussi lavici dellEtna

per la disponibilit a fornire dati e informazioni ting Gems Jade Edition - HYPERLINK http://
necessari alla realizzazione dellapplicativo. www.hoepli.it/editori/Morgan_Kaufmann.
Il paragrafo [I.N.G.V.(sez. Catania): UFGM html \o dello stesso editore Morgan
e Tecnolab] stato gentilmente concesso Kaufmann
dallIstituto Nazionale di Geofisica e Vulcano- VICARI A. et alii (2007) Modelling of the
logia sezione di Catania. 2001 lava flow at Etna volcano by a Cellular Au-
tomata approach ScienceDirect.
BIBLIOGRAFIA
BILOTTA G. et alii (2011) Porting and op-
timizing MagFlow on Cuda Annals Of Geo-
physics 54, 5, 2011; doi:10,4401/ag-5341.
COOK S. (2012) - CUDA Programming - El-
sevier Science
CORTINI M. & SCANDONE R. (1987) Un
introduzione alla vulcanologia. Magmi Eruzioni
Vulcani Liguori
DEL NEGRO C. et alii (2007) Simulations
of the 2004 lava flow at Etna volcano using the
magflow cellular automata model Bull. Volca-
nol. DOI 10.1007/S00445-007-0168-8
GASTER B. R. et alii (2011) Heterogeneous
Computing with OpenCL Elsevier Science
HERLIHY M. & SHAVIT N. (2012) - The art
of Multiprocessor Programming HYPER-
LINK http://www.hoepli.it/editori/Mor-
gan_Kaufmann.html \o dello stesso editore
Elsevier
KIRK D. & WEN-MEI W. HWU (2010) -
Programming Massively Parallel Processors with
CUDA HYPERLINK http://www.hoepli.
it/editori/Morgan_Kaufmann.html \o dello
stesso editore Morgan Kaufmann
NVIDIA (2010) OpenCL Best Practices
Guide May 27, 2010
NVIDIA (2009) OpenCL Programming
Guide for the CUDA Architecture 2/14/20211
SANDER J. & KANDROT E. (2010) - CUDA
by Example: An Introduction to General-Purpose
GPU Programming - Addison-Wesley
SCANDONE R.. & GIACOMELLI L. (1998) -
Vulcanologia. principi fisici e metodi dindagine
Liguori
SCARPINO M. (2011) OpenCL in action -
Manning
WEN-MEI HWU W. (2011) GPU compu-

geologia tecnica & ambientale, 2014/2, pp. 33-71 71

GTA 02View
- Art 03 Spina
publication stats mod.indd 71 14/07/14 10:34

Potrebbero piacerti anche