Paralelización en CUDA y validación de corrección de traslapes en sistema de partículas coloidales
Professor Advisor
dc.contributor.advisor
Soto Bertrán, Rodrigo
Author
dc.contributor.author
Carter Araya, Francisco Javier
Associate professor
dc.contributor.other
Hitschfeld Kahler, Nancy
Associate professor
dc.contributor.other
Poblete Olivares, Patricio
Admission date
dc.date.accessioned
2017-01-31T15:47:45Z
Available date
dc.date.available
2017-01-31T15:47:45Z
Publication date
dc.date.issued
2016
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/142783
General note
dc.description
Ingeniero Civil en Computación
es_ES
Abstract
dc.description.abstract
La simulación de cuerpos que interactúan entre sí por medio de fuerzas y la detección de colisiones entre cuerpos son problemas estudiados en distintas áreas, como astrofísica, fisicoquímica y videojuegos. Un campo en particular corresponde al estudio de los coloides, partículas microscópicas suspendidas sobre otra sustancia y que tienen aplicaciones en distintas industrias. El problema consiste en simular la evolución de un sistema con distintos tipos de partículas coloidales a través del tiempo, cumpliendo las propiedades de volumen excluido, movimiento aleatorio y condiciones de borde periódicas. Además, la interacción de largo alcance entre coloides presenta la particularidad de no cumplir con el principio de acción y reacción.
Se desarrolló un algoritmo de simulación completamente paralelo en GPU, implementado en la plataforma CUDA y C++. La solución utiliza una triangulación de Delaunay en memoria de la tarjeta gráfica para conocer eficientemente la vecindad de cada partícula, lo que permite resolver traslapes entre partículas sin tener que evaluar todo el sistema. Se utilizó una implementación reciente del algoritmo de edge-flip para mantener la triangulación actualizada en cada paso de tiempo, extendiendo además el algoritmo para corregir los triángulos invertidos. Para el caso de fuerzas de corto alcance, además se desarrolló un algoritmo paralelo que construye y utiliza listas de Verlet para manejar las vecindades entre partículas de forma más eficiente que la implementación anterior.
Los resultados obtenidos con la implementación paralela presentan una mejora de hasta dos órdenes de magnitud con respecto al tiempo de la solución secuencial existente. Por otro lado, el algoritmo para fuerza de corto alcance mejora de igual magnitud con respecto a la solución de largo alcance desarrollada. También se verificó que la corrección de traslapes con triangulación de Delaunay se hace de forma eficiente, y que esta estructura puede ser aplicada para otros problemas relacionados, como implementar el cálculo de fuerzas de corto alcance (y compararlo con la implementación ya existente) o realizar simulaciones aproximadas utilizando triangulaciones.
es_ES
Patrocinador
dc.description.sponsorship
Financiado parcialmente por el Proyecto FONDECYT # 1140778