Modelado de GPUs e implementación de características dentro de Accel-sim
El avance en la eficiencia y potencia de las GPU ha sido posible gracias a la fuerte investigación
que hay detrás en el campo de arquitectura de computadores. Esta investigación que se
realiza tanto de forma privada como de forma pública, es vital para el desarrollo tecnológico.
Uno de los problemas de la investigación privada es el secreto industrial, que ha llevado a los
investigadores a crear modelos de simulación que se aproximen a las arquitecturas actuales.
Uno de estos simuladores es Accel-sim [1], el cual intenta recrear la arquitectura de las GPUs
de NVIDIA mediante la simulación de trazas en ensamblador (tanto en PTX como en SASS).
Este trabajo se va a centrar en la utilización de este simulador para generar trazas, caracterizar
una GPU real dentro del simulador y llevar a cabo modificaciones en el simulador, en concreto
se implementarán un planificador de hilos y una nueva política de cache dentro del simulador.
Utilizando el simulador dentro de Accel-sim, GPGPU-sim, se ha modificado para conseguir
estadísticas con las que alimentar un programa que se ha implementado para generar Roofline
models. Además, se ha implementado en GPGPU-sim un planificador de warps aleatorio y la
política de caches NRU.
Se han realizado múltiples simulaciones con varios benchmarks de la suite Rodinia 2.0 [2] con
los cuales se han obtenido resultados sobre diferentes planificadores de warps implementados
en GPGPU-sim (El simulador de GPU que utiliza Accel-sim), además del planificador Random
(selecciona aleatoriamente cada warp). Con estas simulaciones se ha llegado a la conclusión
de que Oldest First junto Gready the Oldest son los mejores planificadores de warps para los
kernels ejecutados. En adición, se ha demostrado que Restricted Round Robin es un simulador
que tiene una efectividad inferior que un planificador de warps aleatorio.
En adición, se han realizado las mismas simulaciones con una política de cache diferente, NRU
(Non Rencently Used). De forma generalizada se encuentra que NRU y LRU se comportan de
forma muy similar, no habiendo mas de un 1% de mejora entre los diferentes planificadores.
Sin embargo, cuando el benchmark simulado da mejores resultados con NRU que con LRU (un
2% en nuestro caso) parece existir indicios de una posible correlación entre el planificador de
warps elegido y la política de cache seleccionada. El tamaño de los experimentos es pequeño, por
tanto, sería necesario realizar más experimentos para poder corroborar una posible correlación.
Licence: Creative Commons Attribution Non Commercial No Derivatives 4.0 International
Keywords: ingenieria informática, Arquitectura GPU
Activity log
