Diseño e implementación del algoritmo de convolución bidimensional en la arquitectura CUDA - Sánchez Checa Crosato, Ivo (2011)
En el presente documento se explicarán las consideraciones realizadas para implementar la convolución bidimensional en la arquitectura CUDA. En general se discutirá la metodología seguida y se mostrarán y analizarán los resultados obtenidos. Inicialmente en el Capítulo 1, a manera de introducción, se discutirá la programación en paralelo y los diferentes aspectos a tener en cuenta al desarrollar programas para arquitecturas concurrentes. De esta forma se pretende explicar conceptos importantes que servirán para poner la presente investigación en contexto y comprender mejor los siguientes capítulos. En el Capítulo 2 se describirá a profundidad los aspectos más importantes de la arquitectura CUDA así como la operación de convolución bidimensional. De esta manera se espera dejar claros los conceptos pertinentes. Posteriormente en el Capítulo 3 se explicará la metodología para el desarrollo de los programas realizados, detallándose las diferentes consideraciones para optimizar el desempeño y reducir el tiempo de ejecución de los mismos. Finalmente en el capítulo 4 se mostrarán los tiempos de ejecución obtenidos con los diferentes programas desarrollados. Estos se obtendrán al tomar en cuenta cada una de las optimizaciones mencionadas en el tercer capítulo con lo que se apreciará la mejora de desempeño en cada caso. A continuación se tomará la mejor de las implementaciones realizadas y se comparará con otras existentes para poner los resultados obtenidos en contexto. Por último se presentarán las conclusiones y recomendaciones pertinentes.