Diseño de GPUs eficientes energéticamente explotando la coherencia entre fotogramas y optimizando los accesos a memoria
- Corbalán Navarro, David
- Antonio González Colás Director/a
- Juan Luis Aragón Alcaraz Director
Universidad de defensa: Universidad de Murcia
Fecha de defensa: 26 de junio de 2023
- Julio Sahuquillo Borras Presidente/a
- José Luis Abellan Miguel Secretario
- José María Arnau Montañés Vocal
Tipo: Tesis
Resumen
El uso de dispositivos móviles tales como smartphones, tablets o smartwatches se ha extendido de una manera desenfrenada durante los últimos años, de tal forma que hoy en día forman parte de nuestra vida cotidiana. A su vez, los usuarios demandan cada vez más funcionalidades y capacidades como, por ejemplo, más rendimiento en el apartado de videojuegos. En este caso, los videojuegos se mueven gracias al procesador gráfico del dispositivo, conocido como GPU (Graphics Processing Unit) y aunque éstos precisan del uso de la CPU para procesar otro tipo de tareas no gráficas como el motor físico o la inteligencia artificial, la mayor parte del trabajo va destinada a la GPU. En esta Tesis se proponen, diseñan, implementan y evalúan tres técnicas para GPUs de dispositivos móviles destinadas a reducir el consumo energético. Para lograrlo, se aprovecha el principio de coherencia temporal entre fotogramas, el cual establece que dos fotogramas cercanos en el tiempo deben ser similares debido a la naturaleza inherentemente continua del movimiento de los objetos en una escena. Como propuestas de esta Tesis, en primer lugar se presenta Ω-Test como solución a un problema denominado overdraw, que supone un 37.7% en promedio (dados los benchmarks evaluados). Para paliar este problema de manera eficaz, Ω-Test aprovecha el Z-Buffer del fotograma previo (lo que se denomina Ω-Table), en vez de partir de cero. Esto hace que, de manera prematura, se descarten muchos más fragmentos, reduciendo así el overdraw de la escena. Con esto se ha logrado reducir el sombreado proveniente del overdraw en un 32.7% de media, dando lugar a un aumento en el rendimiento del 16.3% y una reducción del consumo energético del 15.2% de media. Como segunda propuesta, se presenta Triangle-Dropping, una técnica que ahorra el procesamiento de primitivas ocluidas en la fase de geometría. En los benchmarks evaluados se ha podido observar que, de media, el 37.7% de la geometría de una escena se acaba escribiendo en el Parameter Buffer, de la cual el 60.1% está completamente ocluida. Para reducir drásticamente el número de triángulos ocluidos, Triangle-Dropping predice la visibilidad de los triángulos del fotograma actual aprovechando la del fotograma anterior. Gracias a esta serie de optimizaciones, Triangle Dropping consigue reducir un 31.4% de la geometría presente en el Parameter Buffer, lo cual supone un 57% de la geometría ocluida, dando lugar así a un aumento del rendimiento general del 20.2%, al mismo tiempo que reduce el consumo energético en un 14.5% de media. Finalmente, se propone DTM-NUCA (Dynamic Texture Mapping-NUCA), una técnica capaz de aumentar la capacidad efectiva de las cachés de texturas de los núcleos de procesamiento de fragmentos (los denominados Fragment Processors). Para aprovechar de una manera más eficiente el conjunto de cachés de texturas de los Fragment Processors, DTM-NUCA implementa un mecanismo basado en una arquitectura NUCA (Non-Uniform Cache Access) que permite compartir bloques de texturas entre Fragment Processors. Con este esquema de mapeo dinámico se consigue aumentar el rendimiento en un 16.9% para el caso de la Affinity Table centralizada, y en un 15.7% para el caso de la versión distribuida. Además, se consigue reducir el consumo de energía en un 11.1% y en un 10.3% para las configuraciones centralizada y distribuida respectivamente. Para la realización de la Tesis, se ha usado TEAPOT, un framework de simulación de GPUs móviles. En definitiva, a lo largo de esta Tesis se han propuesto, desarrollado y evaluado técnicas micro-arquitecturales avanzadas enfocadas a GPUs móviles con el fin de reducir considerablemente su consumo energético y aumentar el rendimiento, haciendo que la experiencia de usuario sea mucho más satisfactoria.