En diversas áreas como Medicina, Biología, Teledetección, etc. es muy frecuente encontrar aplicaciones que realizan procesamiento de imágenes. En muchos de esos casos, especialmente cuando el número de imágenes es muy elevado y/o el volumen de procesamiento de cada imagen también lo es, el tiempo requerido para completar el tratamiento de esas imágenes es muy alto. En esos casos es imprescindible obtener versiones de esas aplicaciones que permitan realizar el mismo procesamiento pero en un tiempo mucho menor.
Las actuales GPUs se han convertido en un perfecto co-procesador para acelerar ciertos códigos, y a veces, de una forma muy significativa. A esto hay que añadir las propias ventajas de este dispositivo en cuanto a disponibilidad y coste. Efectivamente, los precios de estos procesadores, en realidad de las tarjetas gráficas que los incorporan, son muy bajos, comparados con los de algunas plataformas de cómputo tradicionales para la computación de altas prestaciones. Esto hace posible que se pueda disponer de una de estas tarjetas en cualquier sistema, incluido un simple ordenador de sobremesa.
El objetivo de este TFG es obtener un código paralelo para una plataforma basada en GPU de una aplicación de que realiza procesamiento de imágenes, con el objetivo de reducir su tiempo de ejecución.
Para el desarrollo del trabajo será necesario usar una plataforma de computación que disponga de una o varias GPUs. En el centro hay varios servidores que disponen de distintos modelos de este tipo de procesadores.
Por otra parte, serán necesarias diversas herramientas de programación, depuración y monitorización que dependerán de la elección realizada sobre el lenguaje de programación a usar. Este aspecto no requiere ninguna dificultad.
El material bibliográfico básico que debe consultarse para este TFG será:
- Código y documentación disponibles sobre la aplicación de procesamiento de imágenes a estudiar. Serán proporcionados por los tutores.
- Manuales de las herramientas software a utilizar. Puesto que los posibles kits de desarrollo a usar son todos de libre acceso, no será inconveniente para el alumno acceder a ellos.
- Alguno de los libros de programación paralela disponibles en las bibliotecas de la UCLM