Análisis preciso y eficiente de restos arqueológicos con programación heterogénea

Alumno investigador: Álvaro Ruiz Crespo

Centro: Escuela de Ingeniería Informática

Profesores/tutores: Arturo González Escribano, Pablo Sánchez Gatón.

Tareas realizadas:

Reuniones periódicas para controlar el correcto avance del proyecto medido en iteraciones. Estudio de CUDA, la tecnología de NVIDIA que ha permitido llevar a cabo la paralelización de la aplicación. Investigación en el sector de las aplicaciones de realidad virtual para hacer uso de las tarjetas gráficas como medio de paralelización logrando una precisión y una velocidad mayor. Constante mejora sobre el kernel de la aplicación para lograr cada vez una versión más óptima en cuanto a tiempo se trata.
Elaboración de un plan de pruebas tanto de caja gris como blanca para la comprobación de resultados correctos con su respectivo proceso de documentación y corrección de errores.
Estudio de la interoperabilidad entre lenguajes diferentes para paralelizar una aplicación elaborada en Unity que requiere una comunicación entre C y C#.
Comprobación de la viabilidad de aplicar la tecnología de paralelización a la aplicación de realidad virtual.
Estudio del uso de esta tecnología de paralelización en otras aplicaciones de realidad virtual.

Objetivos alcanzados:

Se ha logrado el desarrollo de un algoritmo con CUDA para acelerar la carga computacional de la aplicación AVRQUEOLOGÍA sin reducir el número de vértices utilizados en la comparación de cada hueso. De esta manera se permite al arqueólogo lograr la máxima precisión y fiabilidad gracias al uso de la computación paralela logrando además una reducción temporal respecto al programa original.

Sectores de aplicación:

Sector de la realidad virtual aplicada al ámbito del patrimonio cultural vinculado a la computación paralela. Extrapolable a aplicaciones de realidad virtual que requieran de cómputo elevado.

Metodología utilizada:

Se ha estudiado el punto de partida y las tecnologías usadas para el desarrollo de la aplicación. A raíz de identificar el problema se elaboran en la aplicación escenarios reales que se puedan dar en un yacimiento y se realiza la preparación de un entorno que permita la interoperabilidad entre C# (lenguaje en el que están escritos los scripts de Unity) y C (lenguaje en el que se escribe el algoritmo de paralelización). Una vez se dispone del entorno se parte de una versión básica paralelizada y se van realizando mejoras de manera iterativa reduciendo los tiempos de cada versión logrando al final del proyecto unas conclusiones sobre la aplicación de la paralelización en estas aplicaciones de realidad virtual.