Paralelización de un simulador de ondas sísmicas usando GPGPU
Estadístiques de LA Referencia / Recolecta
Inclou dades d'ús des de 2022
Cita com:
hdl:2117/79048
Tipus de documentProjecte/Treball Final de Carrera
Data2015-10
Condicions d'accésAccés obert
Llevat que s'hi indiqui el contrari, els
continguts d'aquesta obra estan subjectes a la llicència de Creative Commons
:
Reconeixement-NoComercial-SenseObraDerivada 3.0 Espanya
Abstract
This project presents the study and optimization of the algorithm seismological H-MSSG proposed by Otilio Rojas. This algorithm is based on the use of mimetic operators who try to adapt the methods of calculations finite properties of continuous operators. The optimization work on the parallelization of the code using a specific hardware called GPGPU focused on graphic processing for personal computers. This item consists of multiple cores in a parallelism-focused structured architecture. Although these elements were originally created to calculate and render graphical objects and textures a new technological trend has led to the creation of a programming interface created by NVIDIA called CUDA which facilitates its use outside the field of graphic tools GPU hardware. In the first part of the project the algorithm and the field of seismology are analysed in order to know their parallel character. An analysis of the work explores the use of character parallelizable identified within the loop update matrix algorithm to adapt it to the CUDA programming with the ultimate goal of reducing the runtime. The second part of the project compares the results obtained by CUDA optimization with optimization tools available in regular hardware. These optimizations are based on the use of SIMD type instructions. Finally the results were compared with OpenACC programming tool that presents a compilation directives by which it is possible to parallelize code automatically in the GPU hardware. Once the results obtained with these tools is a comparison between the methods of optimization. Este proyecto presenta la optimización y el estudio del algoritmo sismológico H-MSSG propuesto por Otilio Rojas. Este algoritmo se basa en el uso de los operadores miméticos que tratan de adaptar a los métodos de cálculos finitos las propiedades de los operadores continuos. La optimización trabaja sobre los aspectos paralelizables del código mediante el uso de un hardware específico llamado GPGPU enfocado al cálculo de procesado gráfico por los ordenadores personales. Este elemento se compone de múltiples núcleos estructurados en una arquitectura enfocada al paralelismo. Aunque estos elementos fueron creados originalmente para calcular y renderizar objetos gráficos y texturas una nueva tendencia tecnológica ha llevado a la creación de una interfaz de programación creada por nVidia llamada CUDA que facilita el uso fuera del campo gráfico de las herramientas del hardware de la GPU. En una primera parte del trabajo se analiza el algoritmo y el campo de la sismología para conocer profundamente el carácter paralelo. Una vez analizado el trabajo profundiza en el uso del carácter paralelizable que se identifica dentro de los bucles de actualización de matrices del algoritmo para adaptarlo a la programación en CUDA con el objetivo final de reducir el tiempo de ejecución. En una segunda parte del trabajo se comparan los resultados de optimización obtenidos en CUDA con las optimizaciones al alcance en las herramientas hardware de trabajo habitual y en concreto las CPU comerciales. Estas optimizaciones se basan en el uso de instrucciones de tipo SIMD. Finalmente se han comparado los resultados con la herramienta de programación OpenACC que presenta unas directivas de compilación mediante las cuales es posible paralelizar el código de forma automática. Una vez obtenidos los resultados con estas herramientas se realiza una comparación entre todos los métodos de optimización. Aquest projecte presenta la optimització y l’estudi de l’algoritme sismològic H-MSSG proposat per Otilio Rojas. Aquest algoritme es basa en l’ús dels operadors mimètics que tracten d’adaptar als mètodes de càlculs finits les propietats dels operadors continus. L’optimització treballa sobre els aspectes paralelitzables del codi mitjançant l’ús de un hardware específic anomenat GPGPU enfocat al càlcul de processat gràfic pels ordinadors personals. Aquest element es composa de múltiples nuclis estructurats en una arquitectura enfocada al paral·lelisme. Tot i que aquests elements van ser creats originalment per a calcular y renderitzar objectes gràfics y textures una nova tendència tecnològica ha portat a la creació d’una interfície de programació creada per NVIDA anomenada CUDA que facilita l’ús fora del camp gràfic de les eines del hardware de la GPU. En una primera part del treball s’analitza l’algoritme i el camp de la sismologia per tal de conèixer-ne profundament el caràcter paral·lel. Un cop analitzat el treball aprofundeix en l’ús del caràcter paralelitzable que s’identifica dintre dels bucles d’actualització de matrius de l’algoritme per tal d’adaptar-lo a la programació en CUDA amb l’objectiu final de reduir-ne el temps d’execució. En una segona part del treball es comparen els resultats d’optimització obtinguts en CUDA amb les optimitzacions a l’abast en les eines hardware de treball habitual i en concret les CPU comercials. Aquestes optimitzacions es basen en l’ús de instruccions de tipus SIMD. Finalment s’han comparat els resultats amb la eina de programació OpenACC que presenta unes directives de compilació mitjançant les quals es possible paralelizar el codi de forma automàtica. Un cop obtinguts les resultats amb aquestes eines es realitza una comparació entre tots els mètodes d’optimització.
Descripció
Diseño e implementación de una aplicación sismica para medios heterogeneos utilizando operadores miméticos.
MatèriesParallel programming (Computer science), Seismology, Programació en paral·lel (Informàtica), Sismologia
TitulacióENGINYERIA DE TELECOMUNICACIÓ (Pla 1992)
Fitxers | Descripció | Mida | Format | Visualitza |
---|---|---|---|---|
Paralelización ... as usando GPGPU_Gerard.pdf | 2,509Mb | Visualitza/Obre |