Aceleración de algoritmos de computación científica basada en arquitecturas heterogéneas
Type
Trabajo de grado - Maestría
Document language
EspañolPublication Date
2014Metadata
Show full item recordSummary
En este trabajo se presenta el uso de arquitecturas heterogéneas para acelerar los cálculos pertinentes a varios algoritmos de computación científica como son los casos típicos de ecuaciones diferenciales parciales. Para poder lograr este objetivo es necesaria una similitud entre las estructuras de los problemas con las arquitecturas de cómputo, además de buscar formas de optimización tales como el manejo apropiado de los recursos disponibles y emplear características propias de las arquitecturas como la indexación bidimensional de memoria. Esto es posible gracias a las diferentes configuraciones permitidas por el estándar de computación en paralelo Open Computing Language (OpenCL). Dentro de los diferentes problemas para analizar se encuentran las tres clasificaciones de ecuaciones diferenciales parciales de segundo grado, a saber: ecuación parabólica, elíptica e hiperbólica. Para estas ecuaciones se tomaron problemas clásicos de la literatura, en los que se obtuvo una aproximación de la solución mediante el método explícito. La ecuación de calor en una dimensión, Laplace en dos dimensiones y finalmente onda en una y dos dimensiones. Para comprobar los resultados presentados en este trabajo se realizan comparaciones entre las velocidades de respuesta de los diferentes algoritmos para procesos secuenciales en CPU y paralelos, utilizando procesador con múltiples núcleos y unidades de procesamiento gráfico (GPU); teniendo en cuenta las medidas de tiempo de los procesos de escritura en memoria principal, los tiempos de ejecución del proceso en los dispositivos aceleradores, y el tiempo exclusivo que tarda el Kernel en ser ejecutado. Los resultados que aquí se muestran fueron realizados en un computador con procesador AMD black six de 6 núcleos con un reloj de 3300 MHz y 4Gb de memoria RAM; una GPU AMD HD 6700 de 10 unidades computacionales con 222 elementos de proceso, un reloj de 850 MHz y 2Gb de memoria, los cuales son de uso comercial y de fácil acceso a la comunidad científica en generalSummary
Abstract : This study describes the use of heterogeneous architectures to accelerate the pertinent calculations for several scientific computing algorithms such as the typical cases of partial differential equations. To achieve this objective a similarity between the structures of the problems with the architecture of these devices is needed, besides searching ways of optimization such as the appropriate use of the available resources and use particular characteristics of the devices as bi-dimensional indexing; which can occur thanks to the different configurations allowed by the standard Open Computing Language (OpenCL ). Within the different problems to be analyzed we have the three classifications of the second grade partial differential equations, which are parabolic, elliptic and hyperbolic equations. For this equations we took the classic problems of literature, being explicitly heat equation in one dimension, Laplace in two dimensions and additionally wave in one and two dimensions. To verify the results presented in this study comparisons of each problem were performed between the response rates of the different algorithms for sequential and parallel process, using multicores and GPU; taking into account the measurements of time of the processes of writing in the principal memory and without it, the execution times of the process in the accelerator devices, and the time it takes the exclusive kernel execution. The results shown here were achieved in a computer with a AMD black processing unit of 6 cores, with a 3300 MHz clock and a 4Gb ram memory; also an AMD HD 6700 GPU of 10 computing units with 222 process elements was used, a 850 MHz clock and a 2Gb memory. Which in general terms are for commercial use and have easy access in general to the scientific community in generalKeywords
Computación científica ; Ecuaciones diferenciales parciales (EDP) ; Unidad de procesamiento gráfico (GPU) ; Lenguaje de Computación Abierto (OpenCL) ; Computación en paralelo ; Computational science ; Partial differential equations (PDE) ; Graphics Processing Unit (GPU) ; Open Computing Language (OpenCL) ; Parallel computing ;
Collections
