Mìmir: A real-time interactive visualization library for CUDA programs
Professor Advisor
dc.contributor.advisor
Hitschfeld Kahler, Nancy
Professor Advisor
dc.contributor.advisor
Navarro Guerrero, Cristóbal
Author
dc.contributor.author
Carter Araya, Francisco Javier
Associate professor
dc.contributor.other
Muñoz Apablaza, Valentín
Associate professor
dc.contributor.other
Sipiran Mendoza, Iván
Associate professor
dc.contributor.other
Barrientos Rojel, Ricardo
Admission date
dc.date.accessioned
2024-06-17T17:01:06Z
Available date
dc.date.available
2024-06-17T17:01:06Z
Publication date
dc.date.issued
2023
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/199167
Abstract
dc.description.abstract
La visualizaci´on de experimentos que corren en GPU mediante plataformas como CUDA
presenta caracter´ısticas distintas en comparaci´on a la de algoritmos tradicionales que utilizan
solo CPU y RAM. Dado el volumen de datos involucrado y la velocidad con que se actualizan, a menudo es deseable poder observar gr´aficamente su estado, ya sea para presentarlos
de forma m´as expresiva, monitorear su evoluci´on o detectar errores en tiempo real. Esto es
considerablemente m´as dif´ıcil utilizando soluciones orientadas a datos residentes en RAM, ya
que implica transferencia desde y hacia la GPU para generar y actualizar la visualizaci´on.
Este trabajo presenta el dise˜no e implementaci´on de una biblioteca C++ que utiliza interoperabilidad entre CUDA y Vulkan para visualizar conjuntos de datos residentes en memoria
de GPU en tiempo real.
La soluci´on propuesta permite crear vistas de los recursos en memoria de GPU creados en
CUDA de manera que sus modificaciones se actualicen en tiempo real sobre la visualizaci´on
producida en Vulkan para varios tipos de datos. El esquema de la biblioteca permite generar
visualizaciones con m´ınimas alteraciones al c´odigo fuente del experimento original, necesitando ´unicamente reemplazar las llamadas a las peticiones de memoria GPU que se quiere
visualizar. Los experimentos realizados muestran que el rendimiento en visualizar nubes de
puntos es hasta 12 veces m´as r´apido en tiempo total de visualizaci´on con un frame rate hasta
9 veces m´as alto y con uso de memoria hasta 1.5 veces menor respecto a visualizaciones generadas con librer´ıas orientadas al despliegue de este tipo de datos. Tambi´en se muestra que
la interoperabilidad puede utilizarse para mostrar conjuntos de datos de diversos tama˜nos
sin p´erdida de responsividad, y las opciones de sincronizaci´on entre CUDA y Vulkan pueden
ajustarse para balancear el uso de recursos entre rendering y c´omputo seg´un el caso de uso.
Por otro lado, se discuten las diferencias entre utilizar OpenGL y Vulkan como backends
gr´aficos para generar las visualizaciones.
es_ES
Lenguage
dc.language.iso
es
es_ES
Publisher
dc.publisher
Universidad de Chile
es_ES
Type of license
dc.rights
Attribution-NonCommercial-NoDerivs 3.0 United States