Comparación del rendimiento entre algoritmos en paralelo codificados en opencil y algoritmos secuenciales

El presente proyecto de titulación contiene un juicio comparativo del rendimiento en tiempos de ejecución entre las versiones en secuencial y en paralelo de dos algoritmos. La versión en paralelo esta codificada en OpenCL, herramienta que se estudia en el marco teórico del documento. Durante la inve...

Full description

Saved in:
Bibliographic Details
Main Author: Elizondo Alvarado, Juan Miguel
Other Authors: González Campos, Saúl
Format: Trabajo recepcional licenciatura
Language:spa
Published: Universidad Autónoma de Ciudad Juárez 2017
Subjects:
Online Access:http://hdl.handle.net/20.500.11961/3190
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:El presente proyecto de titulación contiene un juicio comparativo del rendimiento en tiempos de ejecución entre las versiones en secuencial y en paralelo de dos algoritmos. La versión en paralelo esta codificada en OpenCL, herramienta que se estudia en el marco teórico del documento. Durante la investigación, se seleccionaron dos algoritmos para implementar en sus dos versiones, posteriormente se realizaron pruebas de ejecución, las cuales sirvieron para las mediciones de rendimiento. Por medio del análisis de los datos recopilados, se llegó a la conclusión de la investigación. En el primer capítulo se presentan algunos antecedentes relacionados a la programación en paralelo y a sus orígenes, se define el problema general de la investigación, así como sus objetivos. Se definen tres preguntas de investigación, las cuales se pretendieron resolver durante el desarrollo de la misma. Se explican los fundamentos en que se basa el trabajo y se justifica el desarrollo del mismo. Finalmente, se definen las limitaciones que la investigación presenta y se delimitan los alcances de la misma. El segundo capítulo contiene todo lo referente al marco teórico de la investigación, se incluye una sección de conceptos y términos generales con el fin de introducir al lector al mundo de la programación en paralelo. También se estudian los inicios de la misma así como algunas de las herramientas más importantes que sirven para su implementación. Particularmente se estudia OpenCL como lenguaje y herramienta para este tipo de programación. Se explica la estructura que debe contener un programa en OpenCL, las funciones principales y sus definiciones, así como la manera en que funciona la herramienta y los elementos necesarios para la ejecución de sus aplicaciones. Aunado a esto, se incluyen los fundamentos básicos sobre el filtrado digital de imagen, ya que uno de los algoritmos estudiados durante la investigación implementa un tipo de filtro. El tercer capítulo contiene toda la metodología del desarrollo del proyecto. Se especifican las herramientas y la manera en que han sido utilizadas en cada algoritmo. Se explica a detalle el funcionamiento de los dos algoritmos analizados, así como las partes fundamentales del código de los mismos. El capítulo incluye además los pasos necesarios para realizar la investigación, de manera que esta pueda repetirse bajo las mismas condiciones si así se desea. Se explican a detalle las modificaciones que se hicieron a los códigos de las aplicaciones con el fin de medir los tiempos de ejecución en tiempo real de las mismas. En el cuarto capítulo se presentan los resultados obtenidos al realizar las pruebas en ambas versiones de cada algoritmo. Se representa mediante tablas y graficas los datos de dichas pruebas y se incluye un análisis de los mismos. En esta parte se interpretan los resultados obtenidos explicando si los mismos fueron esperados o inesperados. Esto servirá para construir la conclusión de la investigación. El quinto y último capítulo explica lo que se aprendió del proyecto, retomando el objetivo general del mismo, relacionando el problema con los resultados obtenidos. Se compara lo que se esperaba obtener con lo que se obtuvo al realizar el análisis de la investigación. Se presentan las conclusiones en base a los resultados del capítulo cuatro y finalmente se especifica cuales elementos del trabajo quedaron inconclusos y por qué. Finalmente se hacen recomendaciones para futuras investigaciones o mejoras al proyecto, haciendo una propuesta para darle continuidad al mismo.