Mostra el registre d'ítem simple
Optimización y paralelización de un código para la simulación de problemas acústicos
dc.contributor | Rojas Ulacio, Otilio José |
dc.contributor | Otero Calviño, Beatriz |
dc.contributor.author | Rodríguez Cruz, Robert |
dc.date.accessioned | 2014-07-16T07:31:41Z |
dc.date.available | 2014-07-16T07:31:41Z |
dc.date.issued | 2014-06-26 |
dc.identifier.uri | http://hdl.handle.net/2099.1/22017 |
dc.description.abstract | [ANGLÈS] Nowadays, numerical simulations of acoustic propagation phenonema demand high performance computing because of the large study domain of interest and the high volume of input/output data. In the case of finite difference methods (or any other volume discretization scheme), processing time might become strikingly large if we additionally use well refined grids in order to capture small physical devices on wave patterns. In this final degree project, we present several implementations of a code that uses the mimetic finite difference method for the simulation and study of acoustic wave propagation on highly dense staggered grids. These implementations evolve as different optimization strategies are implemented starting from appropiate setting of compilation flags, code vectorization by using SSE and AVX instructions, CPU parallelization by exploting the OpenMP framework, to the final code parallelization on GPU platforms (CUDA). We present and discuss the increasing computation speed-up of this mimetic scheme achieved by the gradual implementation and testing of all these performance optimizations, concluding that times achieved by parallelization on CUDA are always better than times on the best implementation on CPU. |
dc.description.abstract | [CASTELLÀ] Hoy en día, los modelos matemáticos que simulan el fenómeno de la propagación de la onda acústica exigen cada vez más rendimiento computacional debido a los incesantes avances en su estudio y a que se tienen volúmenes de datos cada vez mayores. En el caso de los métodos de diferencias finitas (o cualquier otro esquema de discretización), el tiempo de procesamiento puede llegar a ser sorprendentemente grande si además se utilizan mallas altamente discretizadas con el fin de capturar mecanismos sutiles en los patrones de la onda. En este proyecto final de carrera se presentan diversas implementaciones de un código que utiliza el método mimético de diferencias finitas para simular y analizar el comportamiento de la propagación de ondas acústicas. Estas implementaciones contemplan la utilización de diferentes técnicas de optimización, que van desde el uso de flags en tiempo de compilación, a la vectorización del código mediante instrucciones SSE y AVX, pasando por la paralelización a nivel de hilo usando OpenMP y terminando con la paralelización del código en GPU (arquitectura CUDA). Finalmente, se presentan y analizan los resultados del rendimiento (speed-up) obtenidos para las implementaciones propuestas. El cálculo de esta medida de rendimiento se realiza respecto a la versión original del código (en MATLAB) y respecto a la mejor versión implementada en C. Para todos los casos se demuestra que el rendimiento más óptimo se obtiene para la versión implementada en CUDA. |
dc.description.abstract | [CATALÀ] Avui en dia els models matemàtics que simulen el fenomen de la propagació de la ona acústica exigeixen cada cop més rendiment computacional degut als incessants avanços en el seu estudi i a que es tenen volums de dades cada cop més grans. En el cas dels mètodes de diferències finites (o qualsevol altres esquema de discretització), el temps de processat pot arribar a ser sorprenentment gran si a més a més s'utilitzen malles altament discretitzades amb la finalitat de capturar mecanismes subtils en els patrons de la ona. En aquest projecte final de carrera es presenten diverses implementacions d'un codi que utilitza el mètode mimètic de diferencies finites per simular i analitzar el comportament de la propagació d'ones acústiques. Aquestes implementacions contemplen la utilització de diferents tècniques d'optimització, que van des de l'ús de flags en temps de compilació, a la vectorització del codi mitjançant instruccions SSE i AVX, passant per la paral·lelització a nivell de fil gràcies a OpenMP i finalitzant amb la paral·lelització del codi en GPU (arquitectura CUDA). Finalment, es presenten i analitzen els resultats de rendiment (speed-up) obtinguts per a les implementacions proposades. El càlcul d'aquesta mesura de rendiment es realitza respect a la versió original del codi (en MATLAB) i respect a la millor versió implementada en C. Per a tots els casos es demostra que el rendiment més òptim s'obté per a la versió implementada en CUDA. |
dc.language.iso | spa |
dc.publisher | Universitat Politècnica de Catalunya |
dc.rights | S'autoritza la difusió de l'obra mitjançant la llicència Creative Commons o similar 'Reconeixement-NoComercial- SenseObraDerivada' |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/es/ |
dc.subject | Àrees temàtiques de la UPC::Enginyeria electrònica |
dc.subject.lcsh | Hearing |
dc.subject.lcsh | Waves -- Propagation |
dc.subject.other | optimization |
dc.subject.other | parallelization |
dc.subject.other | code |
dc.subject.other | simulation |
dc.subject.other | wave |
dc.subject.other | acoustic |
dc.subject.other | mimetic |
dc.subject.other | cuda |
dc.subject.other | openmp |
dc.subject.other | sse |
dc.subject.other | avx |
dc.subject.other | paralelización |
dc.subject.other | código |
dc.subject.other | simulación |
dc.subject.other | onda |
dc.subject.other | acústica |
dc.subject.other | miméticos |
dc.subject.other | Processament en paral·lel (Ordinadors) |
dc.subject.other | Programació en paral·lel (Informàtica) |
dc.title | Optimización y paralelización de un código para la simulación de problemas acústicos |
dc.title.alternative | Code optimization and parallelization for the simulation of acoustic problemss Optimització i paralelització d'un codi per a la simulació de problemes acústics |
dc.title.alternative | Optimització i paralelització d'un codi per a la simulació de problemes acústics |
dc.type | Master thesis (pre-Bologna period) |
dc.subject.lemac | Oïda |
dc.subject.lemac | Ones -- Propagació |
dc.identifier.slug | ETSETB-230.103561 |
dc.rights.access | Open Access |
dc.date.updated | 2014-06-30T05:51:21Z |
dc.audience.educationlevel | Estudis de primer/segon cicle |
dc.audience.mediator | Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona |
dc.audience.degree | ENGINYERIA DE TELECOMUNICACIÓ (Pla 1992) |