Show simple item record

dc.contributorOtero Calviño, Beatriz
dc.contributorFernández Jiménez, Agustín
dc.contributor.authorGarriga Estradé, Carles
dc.contributor.otherUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.date.accessioned2017-01-31T15:46:53Z
dc.date.available2017-01-31T15:46:53Z
dc.date.issued2016-10-24
dc.identifier.urihttp://hdl.handle.net/2117/100397
dc.description.abstractAquest projecte, tal com el títol indica, es centra en la optimització i paral·lelització d’un simulador sísmic en arquitectures multi-nucli. A partir de les formules matemàtiques necessàries, es presenta el model i es raona el perquè de l’ús de l’estructura de dades SSG (que dona part del nom al algorisme H-MSSG que executa el simulador). Aquest simulador és implementat a dues arquitectures hardware diferents: La primera arquitectura CPU basada en x86 de Intel i una segona basada en una GPU de la mà de NVIDIA. A partir d’un codi seqüencial i utilitzant optimitzacions software, es realitza una primera versió. Com a principals a destacar, es troba un canvi d’estructura de dades del simulador així com la millora dels accessos a memòria mitjançant diferents tècniques. A continuació s’incrementa el rendiment seqüencial del simulador mitjançant tècniques de reducció del nombre de salts. Aprofitant els recursos i les noves instruccions multimèdia (SIMD) disponibles al processador, s’elabora una iteració del simulador aprofitant aquesta tecnologia. Finalment, es paral·lelitza el codi anterior utilitzant la interfície OpenMP. A partir del codi seqüencial i mitjançant la tecnologia CUDA present els les targetes gràfiques (GPU’s) d’NVIDIA, s’estudia amb detall l’arquitectura per implementar una nova versió del simulador a aquesta. Ja com a últim pas, s’utilitza la interfície de programació OpenACC per a generar un executable compatible amb la GPU utilitzant el mateix codi seqüencial. En cada apartat s’analitza el rendiment utilitzant diferents mètriques (temps i/o SpeedUp) y es comproven els resultats numèrics obtinguts.
dc.description.abstractEste proyecto, tal como el título indica, se centra en la optimización y paralelización de un simulador sísmico en arquitecturas multinúcleo. A partir de las formulas matemáticas necesarias, se presenta el modelo y se razona el porqué del uso de la estructura de datos SSG (que da parte del nombre al algoritmo H-MSSG que ejecuta el simulador). Este simulador es implementado a dos arquitecturas hardware diferentes: La primera arquitectura és una CPU basada en x86 de Intel y la segona una GPU de la mano de NVIDIA. A partir de un código secuencial y utilizando optimizaciones software se realiza una primera versión. Como principales puntos a destacar, se encuentra un cambio en la estructura de datos del simulador i la mejora de los accesos a memoria utilizando diferentes técnicas sofware. A continuación se incrementa el rendimiento secuencial del simulador mediante técnicas de reducción del numero de saltos. Aprovechando los recursos y las nuevas instrucciones multimedia (SIMD) disponibles en el procesador, se implementa una version del simulador aprovechando esta tecnología. Finalmente, se paraleliza el código anterior utilizando la interfaz de programacion OpenMP. A partir del código secuencial y mediante la tecnología CUDA presente en las tarjetas gráficas (GPU’s) de NVIDIA, se estudia con detalle la arquitectura para implementar una nueva version del codigo utilizando esta tecnologia. Ya como último paso, se utiliza la interfaz de programación OpenACC, para generar un ejecutable compatible con la GPU utilizando el mismo código secuencial. En cada apartado se analiza el rendimiento utilitzando diferentes metricas (tiempos y/o SpeedUp) y se comprueban los resultados numèricos obtenidos.
dc.description.abstractThis project, as the title suggests, focuses on the optimization and parallelization of a seismic simulator using multi-core architectures. Begining with the study of the model all the necessary mathematic equation are showed, including the reasons of the usage of the SSG data structure (that gives the name of the H-MSSG algorithm, running the simulator). This simulator is implemented into two different hardware architectures: A first architecture, base on an Intel’s x86 CPU and a second one, based on NVIDIA’s GPU. From a sequential code, an initial version of the simulator is made using software optimizations. Two of the main points of improvement are the changes in the data structures of the simulator as well as improved memory accesses using different techniques. Then, the simulation time is reduced using jump and branches and loop reduction techniques. Taking advantage of the CPU multimedia instructions (SIMD), a second revision of the simulator is made using this technology. Finally, this previous code is paralelized using OpenMP interface. From the sequential code, and using the CUDA technology present on NVIDIA’s graphics cards (GPU’s), both the GPU and CUDA arquitecture are studied in order to create a new simulator code. As the last step, the OpenACC programming interface is used to generate an executable that supports the GPU using the same sequential code. At the end of each section, the performance is analized using several metrics (time and SpeedUp) and the precision of the results is checked.
dc.language.isocat
dc.publisherUniversitat Politècnica de Catalunya
dc.subjectÀrees temàtiques de la UPC::Informàtica
dc.subject.lcshOpenMP
dc.subject.lcshEartquake simulators
dc.subject.otherGPGPU
dc.subject.otherCPU
dc.subject.otherCUDA
dc.subject.otherOpenACC
dc.subject.otherSIMD
dc.titleOptimització i paral·lelització d’un simulador sísmic en arquitectures multi-nucli
dc.title.alternativeOptimización y paralelización de un simulador sísmico en arquitecturas multi-core
dc.typeBachelor thesis
dc.subject.lemacOpenMP
dc.subject.lemacSimuladors sísmics
dc.identifier.slug123006
dc.rights.accessOpen Access
dc.date.updated2017-01-26T05:00:23Z
dc.audience.educationlevelGrau
dc.audience.mediatorFacultat d'Informàtica de Barcelona
dc.audience.degreeGRAU EN ENGINYERIA INFORMÀTICA (Pla 2010)


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record