Aceleración de algoritmos de computación científica basada en arquitecturas heterogéneas

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...

Full description

Autores:
Tamayo Monsalve, Manuel Alejandro
Tipo de recurso:
Fecha de publicación:
2014
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/52765
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/52765
http://bdigital.unal.edu.co/47166/
Palabra clave:
0 Generalidades / Computer science, information and general works
51 Matemáticas / Mathematics
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
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
Description
Summary: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 general