Abstract:
|
El objetivo del proyecto es el estudio y la evaluación del estándar OpenCL como plataforma para el desarrollo de aplicaciones.
El estudio de OpenCL se realizará tomando como base su especificación oficial y comprenderá los siguientes puntos:
- Estudio de la arquitectura que presenta la plataforma.
- Estudio del modelo o modelos de programación, memoria y ejecución presentes en OpenCL.
- Estudio de las funcionalidades y herramientas disponibles para el desarrollo de aplicaciones con OpenCL.
En cuanto a la evaluación, esta se centrará en los siguientes puntos:
- Evaluación del estado de las implementaciones existentes y su interoperabilidad.
- Evaluación del proceso de desarrollo de aplicaciones.
- Evaluación de las mejoras de rendimiento al utilizar OpenCL como plataforma de desarrollo.
Definido el marco a explorar, se opta por desarrollar una aplicación cuya elaboración permita cumplir con todos los puntos anteriores. La aplicación elegida es una implementación del algoritmo de raytracing clásico.
El núcleo de la aplicación a desarrollar deberá cumplir con los siguientes requisitos funcionales:
- Lectura de la información de escena a partir de un fichero en disco. El contenido del archivo deberá regirse bajo un formato determinado.
- Ejecución del algoritmo de raytracing clásico sobre la información de escena para sintetizar una imagen representativa de la escena.
- Exportación de la imagen generada a partir de la información de escena a un formato de imagen determinado.
La aplicación se desarrollará en Java y el proceso de ejecución del algoritmo de raytracing clásico se acelerará con OpenCL. Paralelamente se realizará también una implementación en Java del algoritmo de raytracing que se utilizará para realizar las pruebas de comparativa de rendimiento. |