Optimización MULTI-GPU de un algoritmo de detección de colisiones. Caso de estudio CUDA
Archivos
Fecha
2012-05
Autores
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Rey Juan Carlos
Enlace externo
Resumen
La evolución en la computación gráfica ha sido notoria en los últimos años. Sin embargo
a pesar de todos los avances, uno de los principales problemas que nos encontramos
hoy en día para lograr simulaciones realistas es la necesidad de incluir en las mismas el
funcionamiento de las leyes básicas de la física, como gravedad, roce, solidez. Así por
ejemplo al proporcionar solidez, es necesario tener en cuenta la ley básica universal de
que dos objetos no pueden ocupar el mismo espacio al mismo tiempo, lo cual a pesar de
ser algo trivial en la vida diaria, resulta un problema complejo de implementar en tiempo
real para sistemas complejos. Por tanto para proporcionar solidez, es necesario detectar
colisiones entre los diferentes objetos de una simulación.
La detección de colisiones es una tarea costosa ya que se necesita analizar todos
los objetos de la escena para buscar contactos entre ellos, y más si trabajamos con
simulaciones de cuerpos móviles debido a su movimiento. Si los objetos son deformables y
necesitamos resultados en tiempo real, el problema se complica, convirtiendo la detección
de colisiones en una tarea de mayor peso computacional.
Por otro lado, actualmente las tarjetas gráficas han aumentado sus capacidades
computacionales de manera asombrosa, debido a las exigencias del mundo de los
videojuegos, añadiendo multitud de pequeños núcleos que trabajan de manera simultánea.
A día de hoy las CPUs se están viendo relevadas a un segundo plano en la ejecución de
algoritmos generales, por la utilización de las altas prestaciones de las tarjetas graficas.
Actualmente se están estudiando distintas alternativas para la detección de colisiones
en paralelo para hacer uso de los nuevos dispositivos. Los algoritmos generalmente
dependen de la infraestructura paralela que utiliza. En este proyecto se presenta un
algoritmo escalable y paralelo para la detección de colisiones en simulaciones, que permite
obtener un alto rendimiento utilizando tarjetas gráficas nVidia.
Descripción
Proyecto Fin de Carrera leído en la Universidad Rey Juan Carlos en el curso académico 2011/2012. Tutores del Proyecto: Alberto Sánchez Campos y Marcos Novalbos Mendiguchía