Show simple item record

dc.contributorRojas Ulacio, Otilio José
dc.contributorOtero Calviño, Beatriz
dc.contributor.authorMoya Arrayás, Ferran
dc.contributor.otherUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.date.accessioned2016-12-12T13:14:17Z
dc.date.available2016-12-12T13:14:17Z
dc.date.issued2016
dc.identifier.urihttp://hdl.handle.net/2117/98010
dc.descriptionEstudio del rendimiento de una aplicación que resuelve un problema numérico utilizando el método nodal y mimético. Implementación de nuevas versiones (secuenciales y paralelas).
dc.description.abstractIn the present work we analyze two finite difference methods for the propagation of acoustic waves proposed by Córdova et al. to optimize its performance. The computational domain is rectangular. The first of these methods uses a nodal grid and traditional compact finite differences that imply solving tridiagonal systems for numerical differentiation. The second method applies mimetic differential operators in explicit form in a center-distributed grid, avoiding the need to solver linear systems of equations. Starting from a basic MATLAB implementation of both methods, we study their algorithmic complexity and attempt a first optimization of the reference code. Then several optimization strategies are explored. We develop a single--threaded C++ version and then build an OpenMP version to exploit multithread parallelism. Massive parallelization strategies are implemented in a GPU accelerated version using CUDA. Finally, we perform a comparative study of the methods and their behavior towards different optimization strategies. Each optimization technique used is optimal for a certain range of problem sizes. By combining the options developed in this work, it is possible to obtain an execution time speedup between 10-28x (nodal method) and 18-50x (mimetic method) for the whole range of usable problem sizes.
dc.description.abstractEn el presente trabajo se analizan dos métodos en diferencias finitas para la propagación de ondas acústicas propuestos por Córdova et al. con el objeto de optimizar su rendimiento. El domino computacional es rectangular, y el primero de estos métodos emplea una malla nodal y diferencias finitas compactas tradicionales que implican la resolución de sistemas tridiagonales para la diferenciación numérica. El segundo método aplica en forma explicita operadores miméticos de diferenciación en una malla centro-distribuida, y así evita la solución de sistemas lineales. Partiendo de una implementación básica para MATLAB de los métodos propuestos, se analiza la complejidad numérica y se intenta optimizar el código original. A partir de esta implementación de referencia se exploran diversas estrategias de optimización. Primeramente se desarrolla una versión en C++ para una sola CPU y a partir de esta implementación se explota el paralelismo mediante una versión multihilo usando la tecnología OpenMP. Seguidamente se exploran las posibilidades de paralelización masiva mediante el cálculo acelerado por GPU con CUDA. Finalmente se presenta un estudio comparativo de los distintos métodos y su comportamiento con las diferentes optimizaciones usadas. Cada técnica de optimización utilizada resulta óptima para un rango de tamaños de problema. Combinando las diferentes opciones desarrolladas en el presente trabajo, es posible obtener una aceleración del tiempo de ejecución de entre 10-20x (método nodal) y 28-50x (método mimético) para todo el rango usable de tamaños de problema.
dc.description.abstractEn el present treball s'analitzen dos mètodes en diferències finites per a la propagació d'ones acústiques proposats per Córdova et~al. amb l'objectiu d'optimitzar-ne el rendiment. El domini computacional és rectangular, i el primer d'aquests mètodes fa servir una malla nodal i diferències finites compactes tradicionals que impliquen la resolució de sistemes tridiagonals per la diferenciació numèrica. El segon mètode aplica en forma explícita operadors mimètics de diferenciació en una malla centre-distribuïda, evitant d'aquesta manera la resolució de sistemes lineals. Partint d'una implementació bàsica per MATLAB dels mètodes proposats, s'analitza la complexitat numèrica i s'intenta optimitzar el codi original. A partir d'aquesta implementació de referència explorem diverses estratègies d'optimització. Primerament es desenvolupa una versió en C++ per a una sola CPU i a partir d'aquesta implementació s'explota el paral·lelisme mitjançant una versió multifil emprant la tecnologia OpenMP. Seguidament s'exploren les possibilitats de paral·lelització massiva mitjançant el càlcul accelerat per GPU amb CUDA. Finalment es presenta un estudi comparatiu dels diferents mètodes i el seu comportament enfront de les diferents optimitzacions emprades. Cada tècnica d'optimització resulta òptima per a un rang de mides del problema. Combinant les diferents opcions desenvolupades en el present treball, es possible obtenir una acceleració del temps d'execució entre 10-28x (mètode nodal) i 28-50x (mètode mimètic) per a tot el rang de mides usables.
dc.language.isoeng
dc.publisherUniversitat Politècnica de Catalunya
dc.rightsS'autoritza la difusió de l'obra mitjançant la llicència Creative Commons o similar 'Reconeixement-NoComercial- SenseObraDerivada'
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/es/
dc.subjectÀrees temàtiques de la UPC::Enginyeria de la telecomunicació
dc.subject.lcshParallel programming (Computer science)
dc.subject.lcshParallel algorithms
dc.subject.lcshSound-waves
dc.subject.otherparallelization
dc.subject.otheroptimization
dc.subject.othercompact
dc.subject.othermimetic
dc.subject.othernodal
dc.subject.otherfinite difference
dc.subject.otheracoustic wave
dc.subject.otherparalelización
dc.subject.otheroptimización
dc.subject.otherGPU
dc.subject.otherCUDA
dc.subject.otherOpenMP
dc.subject.othercompacto
dc.subject.othermimético
dc.subject.otherdiferencias finitas
dc.subject.othermétodos numéricos
dc.subject.otherondas acústicas
dc.subject.otherSimulació
dc.titleParallelization of finite difference methods: Nodal and mimetic solutions of the wave equation
dc.title.alternativeParalelización de métodos de diferencias finitas: soluciones nodales i miméticas de la ecuación de onda
dc.title.alternativeParal·lelització de métodes de diferències finites: solucions nodals i mimétiques de l'equació d'ona
dc.typeMaster thesis (pre-Bologna period)
dc.subject.lemacProgramació en paral·lel (Informàtica)
dc.subject.lemacAlgorismes paral·lels
dc.subject.lemacOnes sonores
dc.identifier.slugETSETB-230.117500
dc.rights.accessOpen Access
dc.date.updated2016-10-04T11:22:41Z
dc.audience.educationlevelEstudis de primer/segon cicle
dc.audience.mediatorEscola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona
dc.audience.degreeENGINYERIA DE TELECOMUNICACIÓ (Pla 1992)


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Spain
Except where otherwise noted, content on this work is licensed under a Creative Commons license : Attribution-NonCommercial-NoDerivs 3.0 Spain