Mìmir: A real-time interactive visualization library for CUDA programs
Tesis
Open/ Download
Access note
Acceso abierto
Publication date
2023Metadata
Show full item record
Cómo citar
Hitschfeld Kahler, Nancy
Cómo citar
Mìmir: A real-time interactive visualization library for CUDA programs
Author
Professor Advisor
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.
xmlui.dri2xhtml.METS-1.0.item-notadetesis.item
Tesis para optar al grado de Magíster en Ciencias, Mención Computación
Identifier
URI: https://repositorio.uchile.cl/handle/2250/199167
Collections
The following license files are associated with this item: