Acceleratori hardware del calcolo ad          alte prestazioni        Comparazione della performance di un algoritmo di ot...
Premessa           Perché hpc e architetture complesse?Il calcolo deve rispondere ad esigenze sempre più ardue …Un esempio...
Premessa       Perché hpc e architetture complesse?Un altro esempio:                    Collana di seminari per la valoriz...
Premessa                  Di cosa NON parleremo• Quale architettura è meglio delle altre in termini di    possibili presta...
Premessa    I due concetti che vorremmo sottolineare …Rispettare la legge di Moore è sempre più difficile      • «Le prest...
PremessaI due concetti che vorremmo sottolineare …      La soluzione è tornare al semplice               Collana di semina...
PremessaI due concetti che vorremmo sottolineare …               Collana di seminari per la valorizzazione dei Risultati d...
PremessaI due concetti che vorremmo sottolineare … Computation                                                    Computat...
Premessa    I due concetti che vorremmo sottolineare …• Spostare la gestione del dato dall’hardware al software   • Ad ese...
Premessa       I due concetti che vorremmo sottolineare …Non c’è un’infrastruttura per l’HPC migliore delle altre, ma è  n...
Premessa          tre      I due concetti che vorremmo sottolineare …•   Cercare di avere una visione globale dei problemi...
Chi siamo             Imaging and Numerical Geophysics• Gruppo di ricerca di 8 persone con differente back-ground        •...
Acceleratori hardware del calcolo ad alte prestazioni                      SommarioContesto: cos’è la sismica a riflession...
Sismica a riflessione          Cosa è un giacimento di gas e petrolio• Non è un lago di petrolio e gas.• È una formazione ...
Sismica a riflessione                    Alla ricerca del giacimento• Finché non è trivellato un pozzo, è difficile confer...
Sismica a riflessione           Che cosa è la sismica a riflessione …• Il principale strumento di prospezione dell’industr...
Sismica a riflessione         La sismica o ecografia del sottosuoloÈ il metodo di esplorazione che utilizza i principi del...
Sismica a riflessione                     I dati sismici                 • Una traccia sismica è la registrazione degli   ...
Sismica a riflessione                  Processing dei dati sismici• Correzione    dell’ampiezza•   Operazioni di    Filtra...
Common Reflection Surface Stack                            2                    2 T  2t0 Tt   2    hyp      =  t0 + w m...
Common Reflection Surface Stack                             2                 2 T  2t0 Tt   2    hyp   =  t0 + w m  + ...
Common Reflection Surface Stack                    La formula del TravelTime                        2                 2 T...
Common Reflection Surface Stack                    La formula del TravelTime                        2                 2 T...
Common Reflection Surface Stack                    La formula del TravelTime                        2                 2 T...
CRS: metodo Data-Driven     Semblance                       2            2 T  2t0 Tthyp =  t0 + w m  + 2            v...
CRS: metodo Data-Driven                       Piccola digressione …Perché considerare tanti problemi distinti?Potremo ad e...
CRS: metodo Data-Driven                        In un applicazione seriale • Un ciclo esterno sulle tracce di output   I N ...
CRS: metodo Data-Driven                In un applicazione seriale• Un ciclo esterno sulle tracce di output• Per ogni tracc...
Parallelizzazione                  L’applicazione parallela                                                               ...
Parallelizzazione              Secondo livello di parallelizzazione                                                       ...
Parallelizzazione                                Multi-Semblance• L’applicazione costituisce un’infrastruttura attorno al ...
Parallelizzazione                          Multi-Semblance• L’applicazione costituisce un’infrastruttura attorno al nucleo...
Parallelizzazione      Utilizzo dei dati nella Multi-SemblanceUtilizzo dei dati con 1 campione                        Util...
CPU e Multi-Semblance            Sfruttamento della cache della CPU• Non calcola una Semblance alla volta• Calcolanum = .....
CPU e Multi-Semblance             Sfruttamento della cache della CPU• Non calcola una Semblance alla volta• Calcola assiem...
Field Programmable Gate Array e Multi-Semblance            Meccanismo di calcolo nel FPGA• Algoritmo del calcolo uguale a ...
Field Programmable Gate Array e Multi-Semblance                       Meccanismo di calcolo nel FPGA    DRAM of PCI card  ...
Field Programmable Gate Array e Multi-Semblance   Un risultato con FPGACPU Coherency                    MAX2 Coherency    ...
GPGPU e Multi-Semblance             Meccanismo di calcolo nella GPGPU• Algoritmo di calcolo “naturale”   • Ogni Semblance ...
GPGPU e Multi-Semblance         Confronto tra versione AMD e NvidiaVersione AMD:   • Scritta in OpenCL      • C’è un tempo...
GPGPU e Multi-Semblance           Confronto tra versione AMD e NvidiaVersione AMD:    • Scritta tempo globale e delle riso...
Acceleratori hardware del calcolo ad alte prestazioni                        Progetti futuri• Continuare a seguire lo svil...
Acceleratori hardware del calcolo ad alte prestazioni        Domande?       Collana di seminari per la valorizzazione dei ...
Upcoming SlideShare
Loading in …5
×

Acceleratori hardware del calcolo ad alte prestazioni

1,402 views

Published on

By

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • <br /><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/FEVvQejTZDE?version=3&amp;hl=en_US" width="350" height="288"><param name="movie" value="http://www.youtube.com/v/FEVvQejTZDE?version=3&amp;hl=en_US"></param><embed src="http://www.youtube.com/v/FEVvQejTZDE?version=3&amp;hl=en_US" width="350" height="288" type="application/x-shockwave-flash"></embed></object>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
1,402
On SlideShare
0
From Embeds
0
Number of Embeds
130
Actions
Shares
0
Downloads
9
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Acceleratori hardware del calcolo ad alte prestazioni

  1. 1. Acceleratori hardware del calcolo ad alte prestazioni Comparazione della performance di un algoritmo di ottimizzazione matematica su piattaforme FPGA, GPGPU e x86_64 Antonio.Maria.Cristini@crs4.it Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  2. 2. Premessa Perché hpc e architetture complesse?Il calcolo deve rispondere ad esigenze sempre più ardue …Un esempio:• Un tipico dato di input della sismica a riflessione Anni ’90 2D 100 MB Oggi 3D 1km Quasi un TB 3 km 6 ordini di grandezza in più! Top salt surface, color map is related to the depth Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  3. 3. Premessa Perché hpc e architetture complesse?Un altro esempio: Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  4. 4. Premessa Di cosa NON parleremo• Quale architettura è meglio delle altre in termini di possibili prestazioni medie o di picco a seconda del campo di applicazione oppure in termini di consumo a parità di velocità di calcolo per operazioni più o meno complesse• Di calcolo numerico e metodi più rapidi per trovare i minimi o i massimi di una funzione pluridimensionale, non lineare, non regolare ecc.• Di linguaggi di programmazione che siano per la programmazione strutturata o orientata agli oggetti oppure linguaggi specifici quali Cuda o OpenCL, VHDL o Verilog Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  5. 5. Premessa I due concetti che vorremmo sottolineare …Rispettare la legge di Moore è sempre più difficile • «Le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18 mesi». • Ma il raggiungimento dei limiti fisici per la riduzione delle dimensioni dei transistor è ormai raggiuntoLe esigenze di calcolo crescono • la soluzione non può essere più computer o computer più grandi • Si richiede troppo in termini di consumi e infrastrutture La soluzione è tornare al semplice Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  6. 6. PremessaI due concetti che vorremmo sottolineare … La soluzione è tornare al semplice Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  7. 7. PremessaI due concetti che vorremmo sottolineare … Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  8. 8. PremessaI due concetti che vorremmo sottolineare … Computation Computation MaxelerOs Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  9. 9. Premessa I due concetti che vorremmo sottolineare …• Spostare la gestione del dato dall’hardware al software • Ad esempio: • avvicinare il dato all’unità di calcolo • decidere la sequenza delle operazioni • L’infrastruttura è a carico del programmatore• FPGA o le GPGPU sono coprocessori • Necessitano di essere inseriti in una macchina completa • Non possono sostituire le CPU • Elevate prestazioni di picco con minori consumi e costi La soluzione è farsi aiutare da hardware semplice ma efficiente Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  10. 10. Premessa I due concetti che vorremmo sottolineare …Non c’è un’infrastruttura per l’HPC migliore delle altre, ma è necessaria una valutazione globale del problema: • Costi dell’hardware, Consumi e spese di mantenimento • Possibilità di portare il problema nell’architettura specifica • Complessità del problema da affrontare e costi di sviluppo • Quantità di dati da elaborare • Precisione necessaria per risolvere il problema • Velocità d’elaborazione • Mantenimento dell’applicazione nel tempo • Frequenza dei possibili crash del sistema nel suo complesso Valutare il problema globalmente, hardware compreso Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  11. 11. Premessa tre I due concetti che vorremmo sottolineare …• Cercare di avere una visione globale dei problemi• Non si può essere specializzati in tutto (ma in qualcosa si!)• Sapere chi può affrontare e risolvere argomenti specifici• Lavoro d’equipe (che non vuol dire nessuna responsabilità …) • Facilità nell’inserire nuove persone, conoscenze• Cercare le collaborazioni necessarie • sapere cosa cercare e cosa offrire Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  12. 12. Chi siamo Imaging and Numerical Geophysics• Gruppo di ricerca di 8 persone con differente back-ground • 4 fisici: Ernesto Bonomi, Antonio Cristini, Guido Satta e Zeno Heilmann (geofisico) • 4 ingegneri: Claudio Gallo, Giuliana Siddi, Daniela Theis, Gianluigi Caddeo • 1 informatico: Omar Shiaratura• Lavora nel campo della sismica a riflessione in collaborazione con l’industria petrolifera da circa 17 anni• Capacità di autofinanziamento di più del 120%• Inserito nel settore: Energy and Environment diretto da Ernesto Bonomi con diversi interscambi interni• Diverse le collaborazioni ancora attive con: • Importanti società di hardware e software – Nvidia – AMD – Maxeler – … • I più importanti dipartimenti universitari di geofisica – Karlsruhe – Imperial College London – Università di Pisa Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  13. 13. Acceleratori hardware del calcolo ad alte prestazioni SommarioContesto: cos’è la sismica a riflessioneCommon Reflection Surface Stack o CRS-stackCRS: metodo Data-DrivenParallelizzazioneL’applicazione CRS in tre diverse architettureUna slide sui progetti futuri Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  14. 14. Sismica a riflessione Cosa è un giacimento di gas e petrolio• Non è un lago di petrolio e gas.• È una formazione porosa (rocce) che li racchiude;• Una depressione della crosta terrestre che sprofondando ha accumulato sedimenti e materiale organico• La varietà è pressoché infinita: • Strati piatti di roccia; • Strati curvi verso il basso; • Strati fratturati, dislocati e inclinati. Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  15. 15. Sismica a riflessione Alla ricerca del giacimento• Finché non è trivellato un pozzo, è difficile confermare la presenza di risorse utilizzabili …• Il costo di una trivellazione è stimato a: • 0,5-8 M$ per depositi “onshore”; • 10-30 M$ per depositi in acque poco profonde; • Oltre 100 M$ per depositi in acque profonde;• Necessità di metodi per la previsione della presenza di giacimenti• Tre fasi: • Studio della superficie terrestre per costruire un primo modello di sottosuolo • Sondaggio del sottosuolo, principalmente con metodi acustici • Misure da pozzo Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  16. 16. Sismica a riflessione Che cosa è la sismica a riflessione …• Il principale strumento di prospezione dell’industria petrolifera;• È utile anche in campo civile, ambientale e della ricerca geologica di base;• Usa molti concetti matematici sia originali sia mutuati da altre branche della matematica applicata;• L’elaborazione sismica richiede ingenti risorse di calcolo e di archiviazione dati;• È un’attività che vale oltre 4 miliardi di dollari all’anno. Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  17. 17. Sismica a riflessione La sismica o ecografia del sottosuoloÈ il metodo di esplorazione che utilizza i principi della sismologia per stimare le proprietà del sottosuolo a partire da onde sonore indotte, in seguito riflesse.Registrando il tempo di volo dell’eco e la sua intensità, è possibile stimare la profondità della superficie riflettente; Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  18. 18. Sismica a riflessione I dati sismici • Una traccia sismica è la registrazione degli echi retro-propagati dalle discontinuità del sottosuolo • Le esplorazioni sismiche producono enormi quantità di dati: • Ciascuna esplorazione prevede 103 / 105 shots • Ogni shot comporta circa 100-200 ricevitori • Ciascun ricevitore registra circa 1500 campioniSi sfiora facilmente un TB di dato a singola precisione Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  19. 19. Sismica a riflessione Processing dei dati sismici• Correzione dell’ampiezza• Operazioni di Filtraggio• Deconvoluzione• Analisi di velocità• Stacking• Migrazione Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  20. 20. Common Reflection Surface Stack 2  2 T  2t0 Tt 2 hyp =  t0 + w m  +  v0  v ( m Hzy K N HT m + hTH zy K NIPHT h zy zy )m   0 S S=G G 0 -500 V0=1400 m/s-1000-1500-2000 V1=2000 m/s-2500-3000-3500 V2=3400 m/s-4000-4500-5000 0 2000 4000 6000 8000 10000 12000 Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  21. 21. Common Reflection Surface Stack 2  2 T  2t0 Tt 2 hyp =  t0 + w m  +  v0  v ( m Hzy K N HT m + hTH zy K NIPHT h zy zy )m   0 S S=G G 0 -500 V0=1400 m/s-1000-1500-2000 V1=2000 m/s• È un esperimento virtuale nel quale-2500-3000 sorgente e ricevitore coincidono (tracce zero-offset)•-3500 È una raccolta del segnale riflesso nello stesso punto V =3400 m/s (o in2un intorno molto vicino) del segnale zero-offset-4000•-4500 Come realizzarla? • Ipotizzando un modello di volo del segnale nel terreno-5000 0 • Raccogliendo il segnale al tempo ipotizzato 2000 4000 6000 8000 10000 12000 Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  22. 22. Common Reflection Surface Stack La formula del TravelTime 2  2 T  2t0 Tt 2 hyp =  t0 + w m  +  v0  v ( m Hzy K N HT m + hTH zy K NIPHT h zy zy )   0 G −S G +S h= ; m= − x0 2 2 Bortfeld R., (1989). Geometrical ray theory: Ray and traveltimes in seismic systems (second-order approximations of the traveltimes): Geophysics, 54, no. 3, 342–349. Cervený V. (2001). Seismic ray theory. Cambridge University Press. Höcht, de Bazelaire E., Majer P., Hubral P. (1999). Seismics and optics: hyperbolae and curvatures: J. of Applied Geophysics no. 42, 261–281. Höcht G., (2002). Traveltime approximations for 2D and 3D media and kinematic wavefield attributes, doctors’thesis. Universität Karlsruhe. Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  23. 23. Common Reflection Surface Stack La formula del TravelTime 2  2 T  2t0 Tt 2 hyp =  t0 + w m  +  v0  v ( m Hzy K N HT m + hTH zy K NIPHT h zy zy )   0• 2 parameters ( emergence angle & azimuth )• 3 Normal Wavefront parameters ( RNx; RNy ; αN )• 3 NIP Wavefront parameters ( RNIPx; RNIPy ; αNIP ) 8 parametri attraverso I quali possiamo ricuperare i segnali della traccia e ricostruire quello della traccia ZO Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  24. 24. Common Reflection Surface Stack La formula del TravelTime 2  2 T  2t0 Tt 2 hyp =  t0 + w m  +  v0  v ( m Hzy K N HT m + hTH zy K NIPHT h zy zy )   0 Quali parametri utilizzare per identificare i tempi di volo?Possiamo chiederlo ai dati … Come? 8 parametri attraverso I quali possiamo ricuperare i segnali della traccia e ricostruire quello della traccia ZO Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  25. 25. CRS: metodo Data-Driven Semblance 2  2 T  2t0 Tthyp =  t0 + w m  + 2  v0  v ( m Hzy K N HT m + hTHzyK NIPHT h zy zy )   0 N 2 2 M ∑ ∑a i,t i + k r 1 k= − N i= 1 S ( x 0, t0 ) = N 2 M 2 M ∑ ∑a 2 i,t i + k 0≤S≤1 k= − N 2 i= 1• Costituisce la funzione costo per una procedura di ottimizzazione sugli 8 parametri Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  26. 26. CRS: metodo Data-Driven Piccola digressione …Perché considerare tanti problemi distinti?Potremo ad esempio riformulare il problema • considerando il legame dei punti spazialmente vicini • Risolvendo un sistema algebrico … MaParcellizzando riusciamo ad definire due livelli di parallelizzazione 1. Lungo gli assi spaziali 2. Lungo l’asse temporale Formulare il problema considerando l’hardware sottostante Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  27. 27. CRS: metodo Data-Driven In un applicazione seriale • Un ciclo esterno sulle tracce di output I N P U T visto dall’alto OUTPUT y x tForte sovrapposizione del dato di input Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  28. 28. CRS: metodo Data-Driven In un applicazione seriale• Un ciclo esterno sulle tracce di output• Per ogni traccia un ciclo sui campioni temporali• Per ogni campione (t0): ottimizzazione sugli attributi ottimizzazione N 2 2 M ∑ ∑a i,t i + k r 1 k= − N i= 1 S ( x 0, t0 ) = N 2 M 2 M ∑ ∑ 2 a i,t i + k k = − N 2 i= 1 Ciclo sui campioni Ciclo sulle tracce Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  29. 29. Parallelizzazione L’applicazione parallela ottimizzazione ottimizzazione ottimizzazione N 2 2 M ∑ ∑a N 2 M 2 i,t i + k S( x ,t ) = ∑ ∑ 2 r 1 a N 2 kM − N 2 i= 1 = i,t i + k r 1∑ ∑a M 0 0 k = − N N 2 i= 1 M S( x ,t ) = 2 i,t i + k ∑ ∑a 2 0 0 r 1 M NN i= 1M k = − 22 S( x ,t ) = i,t i2+ k M 0 ∑ ∑a 0 N 2 k= − N M 2 i= 1 + i,t i 2 k Ciclo sui campioni ∑ ∑a k=− N 2 i= 1 i,t i + k Ciclo sui campioni k= − N 2 i= 1 Ciclo sui campioni• Tante istanze dello stesso codice seriale che elaborano tracce differenti sono un’applicazione parallela• Il calcolo procede in modo asincrono sul ciclo delle tracce Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  30. 30. Parallelizzazione Secondo livello di parallelizzazione N 2 2 M ∑ ∑a N 2 Mi,t + k 2 ∑ ottimizzazione ∑a i 2 r 1 N k = − N 2 i= 1 2 S( x ,t ) = Mi,t + k ∑ ∑a i 0 0 2 r 1 N k= − N N S( x ,t ) M M 2 i= 1 2 = 2 2 i,t i + k M 0 r0 S( x ,t ) M = ∑ ∑ a∑ ∑ a 1 N k= − N N 2 NM i,t i i=k 2 2 + 1 2 2 i,t i + k M 2 ∑ ∑ a∑ S( x ,t ) M ∑ ∑ a ∑ 2 M 0 0 r k= − N1 i=N k = − M 1 Na i= 1 = 2 2 i,t i + k 2 i,t i + k r S ( x , t 1) M∑ ∑ a 0 0 k= − N i,t i + k2 r 1 i=N k = − M 1 N i= 1 S( x ,t ) = = k 2 − N 2 i= 1 i,t i + k = 2 M M∑ ∑ 2 0 0 k = − N 2i=N 0 0 N 2 a 1 M 2 M i,t + k ∑ ∑ a∑ a ∑ 2 i 2 2 k = − N 2 i= 1 ottimizzazione i,t i + k i,t i + k• Eliminando il ciclo sui campioni (t0) k= − N 2 =− ki= 1 N 2 i= 1 • Creando una routine che calcoli contemporaneamente molte funzioni costo Ciclo sui campioni• La Multi-Semblance costituisce il nuovo kernel del calcolo • L’ottimizzazione procede in modo sincrono sui t0 • È più facile renderla più efficiente rispetto a tante Semblance distinte • È più facile realizzare un paradigma SIMD (Single Instruction, Multiple Data) a basso livello• La logica dell’ottimizzazione sui parametri non viene toccata Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  31. 31. Parallelizzazione Multi-Semblance• L’applicazione costituisce un’infrastruttura attorno al nucleo TravelTime e Multi-Semblance • Chiamato molteplici volte dall’ottimizzazione• 95% del tempo di calcolo è usato dalle due routine• Scrittura modulare: facile sostituzione con altre implementazioni• Versioni attuali sono: (SpeedUp rispetto a un singolo core Intel Westmere a 2.66 GHz) Piattaforma Linguaggi Collaborazione SpeedUp Core Intel Fortran e C (Maxeler) 2x Maxeler FPGA Java (Maxeler compiler) e C++ Maxeler 110 x AMD FireStream OpenCL AMD e committente 60 x Nvidia Tesla/Fermi Cuda Nvidia e committente 100 x Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  32. 32. Parallelizzazione Multi-Semblance• L’applicazione costituisce un’infrastruttura attorno al nucleo TravelTime e Multi-Semblance • Chiamate molteplici volte dall’ottimizzazione• 95% del tempo di calcolo è usato dalle due routine• Scrittura modulare: facile sostituzione con altre implementazioni ( Cosa rende speciale calcolare tante Semblance assieme rispetto a una per volta? Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  33. 33. Parallelizzazione Utilizzo dei dati nella Multi-SemblanceUtilizzo dei dati con 1 campione Utilizzo dei dati con 4 campioniUtilizzo dei dati con 16 campioni Utilizzo dei dati con 64 campioni Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  34. 34. CPU e Multi-Semblance Sfruttamento della cache della CPU• Non calcola una Semblance alla volta• Calcolanum = ...i termini parziali relativi alla singola traccia (1 ) assieme −N num = num −N +a ( nsemb ) ( nsemb ) −N i , t i( nsemb ) − N 2 2 2 2 i=1 ... ... num (1 ) k = ... num ( nsemb ) k = num ( nsemb ) k + a i , t ( nsemb ) + k i ... ... denom (1 ) = ... denom ( nsemb ) = denom ( nsemb ) + ∑a 2 i , t i( nsemb ) + k N 2 2 M ∑ ∑a i,t i + k r 1 k = − N 2 i= 1 S ( x 0, t0 ) = N M 2 M ∑ ∑a 2 i,t i + k Collana di seminari per la valorizzazione dei Risultati − N 2 Ricerca del CRS4 k = della i= 1
  35. 35. CPU e Multi-Semblance Sfruttamento della cache della CPU• Non calcola una Semblance alla volta• Calcola assieme i termini parziali relativi alla singola traccia• Una traccia occupa circa 12 KB e può risiedere per intero dentro la cache di primo livello delle moderne CPU• Ciò permette di aumentare il rapporto tra “Cache hit e Cache miss ” fino a 100 volte• Il meccanismo di caricamento del dato in cache è automatico• Riduzione del tempo globale del calcolo del 50%: • Da 3 a 1,5 mesi il tempo di elaborazione di un dataset con 1.000 core Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  36. 36. Field Programmable Gate Array e Multi-Semblance Meccanismo di calcolo nel FPGA• Algoritmo del calcolo uguale a quello visto per la CPU• Non c’è un meccanismo di cache nel FPGA• C’è un flusso continuo delle tracce nel FPGA • calcola e conserva in memoria quanto serve• Per ogni FPGA si hanno fino a: • 6 pipe ovvero 6 flussi continui del dato a 180 MHz • Le pipe lavorano in modo SIMD• Tuning specifico per il codice • Utilizzo della rappresentazione in virgola fissa • Si ha una maggior precisione solo dove richiesto Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  37. 37. Field Programmable Gate Array e Multi-Semblance Meccanismo di calcolo nel FPGA DRAM of PCI card PCIe Parametri Coord. delle tracce FPGARiduzione del tempo globale e TraveTime KernelnecessarieRiduzione del tempo globale edelle risorse necessarie delle risorse Da 3 mesi a 6 giornitt da 1.000 core in 167 nodi a 128 FPGA su 32 nodi , Da 3 mesi a 6 giorni, da 1.000 core in 167 nodi a 128 FPGA su 32 nodi Ris. parziali Ris. parziali Multi-Semblance Kernel Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  38. 38. Field Programmable Gate Array e Multi-Semblance Un risultato con FPGACPU Coherency MAX2 Coherency Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  39. 39. GPGPU e Multi-Semblance Meccanismo di calcolo nella GPGPU• Algoritmo di calcolo “naturale” • Ogni Semblance è assegnata a un Thread• Il calcolo della funzione costo procede in modo asincrono • L’hardware gestisce la schedulazione dei thread ai core “liberi” • Si realizza un modello SIMD sui parametri del TravelTime • (L’ottimizzazione procede in modo sincrono)• Il calcolo viene velocizzato dai numerosi core • fino a 512 sulle schede Nvidia Fermi• Importanti differenze tra le due implementazioni in test: AMD FireStream OpenCL AMD e committente 60 x Nvidia Tesla/Fermi Cuda Nvidia e committente 100 x Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  40. 40. GPGPU e Multi-Semblance Confronto tra versione AMD e NvidiaVersione AMD: • Scritta in OpenCL • C’è un tempo di latenza iniziale dovuto alla compilazione del kernel • Il TravelTime è calcolato “al volo” all’interno della Semblance • Coprire la lettura del dato con il tempo di calcoloVersione Nvidia: • Scritta in Cuda • Linguaggio, fino ad oggi, un po’ più maturo per HPC • TravelTime vengono calcolati preventivamente • Uso della memoria Texture per le interpolazioni • Interpolazioni hardware molto veloci, ma meno precise • Dobbiamo ancora verificare se la precisione è sufficiente Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  41. 41. GPGPU e Multi-Semblance Confronto tra versione AMD e NvidiaVersione AMD: • Scritta tempo globale e delle risorse necessarieRiduzione delin OpenCLRiduzione deltempo globale e delle risorse necessarie Da 3 •mesiun47 giorni,latenza iniziale dovuto alla compilazione delFireStream Da 3 C’è tempo di kernel mesi a 47 giorni,da 1.000 core in 167 nodi a 32 schede FireStream a da 1.000 core in 167 nodi a 32 schede • Il TravelTime è calcolato “al volo” all’interno della Semblance • Coprire la lettura del dato con il tempo di calcoloVersione Nvidia: • Scritta tempoRiduzione delin Cuda globale e delle risorse necessarieRiduzione deltempo globale e delle risorse necessarie Da 3 •mesia 28 giorni,ad oggi, uncore in maturo pera32 schede Fermi Da 3 mesi a 28 giorni,da 1.000 po’ più 167 nodi aHPC schede Fermi Linguaggio, fino da 1.000 core in 167 nodi 32 • TravelTime vengono calcolati preventivamente • Uso della memoria Texture per le interpolazioni • Interpolazioni hardware molto veloci, ma meno precise • Dobbiamo ancora verificare se la precisione è sufficiente Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  42. 42. Acceleratori hardware del calcolo ad alte prestazioni Progetti futuri• Continuare a seguire lo sviluppo dell’hardware• Modifica dell’ottimizzazione • Meno performace, ma con una convergenza uniforme per ogni t0• Estendere il porting su FPGA e GPGPU • Altri modelli data-driven con più parametri da cercare • Altri progetti Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4
  43. 43. Acceleratori hardware del calcolo ad alte prestazioni Domande? Collana di seminari per la valorizzazione dei Risultati della Ricerca del CRS4

×