Así es como la latencia de la VRAM afecta al rendimiento de la GPU.

Cuando hablamos del rendimiento en juegos, parámetros como la velocidad de reloj, velocidad y cantidad de memoria y ancho de banda de ésta son los parámetros que más se utilizan y, sin embargo, la latencia de la VRAM puede ser un parámetro muy influyente en cómo resulta el desempeño de una tarjeta gráfica y sin embargo es algo que suele pasar desapercibido. Por este motivo, en este artículo te vamos a contar cómo afecta la latencia de la VRAM de la tarjeta gráfica a su rendimiento en juegos.

Nos hemos acostumbrado a medir parámetros de rendimiento de la caché de la CPU y las latencias de la memoria RAM, así que ¿por qué no hacer lo mismo con las GPU? Al igual que las CPU, las GPU han evolucionado para utilizar jerarquías de caché de varios niveles para abordar la creciente brecha entre el rendimiento de la computación (GPU) y la memoria (VRAM), y al igual que en las CPU, podemos utilizar puntos de referencia de búsqueda de punteros (en OpenCL) para medir la latencia de la memoria caché y la VRAM de la gráfica.

Latencia de la VRAM en gráficas Ampere y RDNA 2

La caché en las tarjetas gráficas RDNA 2 de AMD es muy rápida y la hay en mucha cantidad. En comparación con Ampere, la latencia es más baja a todos los niveles, e Infinity Cache solo agrega en torno a 20 nm en comparación con la caché L2 y tiene una latencia más baja que la L2 de Ampere. Sorprendentemente, la latencia de la VRAM de RDNA 2 es aproximadamente la misma que en Ampere de NVIDIA, aunque RDNA 2 realiza dos niveles de comprobación de caché adicionales en el camino hacia la memoria.

Latencia VRAM Ampere y RDNA 2

Por el contrario, NVIDIA se queda con un subsistema de memoria más convencional con solo dos niveles de caché y alta latencia en la L2. Pasar de la L1 dedicada a los SM de Ampere a la L2 toma más de 100 ns; la caché L2 de RDNA 2 está en torno a 66 ns de L0, incluso con una caché L1 entre ellas. Eludir el enorme troquel del chip GA102 parece que le lleva muchos ciclos a las GPUs Ampere, penalizando su rendimiento.

Esto podría explicar el excelente rendimiento que las gráficas RDNA 2 de AMD proporciona a resoluciones más bajas. Las cachés L2 y L3 de baja latencia de RDNA 2 pueden darle una ventaja con cargas de trabajo más pequeñas, donde la ocupación es demasiado baja como para ofuscar la latencia. En comparación, los chips Ampere requieren más paralelismo para poder destacar en términos de rendimiento.

Si comparamos CPU y GPU, vemos una masacre

Las CPU están diseñadas para ejecutar cargas de trabajo en serio lo más rápido posible, mientras que las GPUs están diseñadas para ejecutar cargas de trabajo masivas en paralelo. Dado que la prueba ha sido realizada con OpenCL, podemos ejecutarla sin modificaciones en una CPU para ver cómo se compara con una GPU.

Latencia memoria CPU GPU

En el ejemplo de arriba se utilizado un procesador Haswell cuya caché y latencias DRAM son tan bajas que se ha tenido que utilizar una escala logarítmica, ya que de lo contrario se vería como una línea plana muy por debajo de las cifras de RDNA 2. El Core i7-4770 con DDR3 a 1600 MHz CL9 utilizado puede hacer un viaje de ida y vuelta a la memoria en solo 63 ns, mientras que una Radeon RX 6900 XT con GDDR6 tarda 226 ns en hacer el mismo proceso, más de 3,5 veces más.

Sin embargo, desde otra perspectiva, la latencia de la VRAM GDDR6 en sí no es tan mala. Una CPU o GPU tiene que verificar la caché antes de llevarla a la memoria y, por lo tanto, podemos obtener una visión más «cruda» de la latencia de memoria con solo ver cuánto tiempo de más tarda la información en ir a la memoria desde que llega a la caché. El delta entre un acierto y un error de caché de último nivel es de 53,42 ns en Haswell y de 123,2 ns en RDNA 2.

¿Qué pasa con las GPUs de anteriores generaciones?

Las arquitecturas Maxwell y Pascal son muy similares, y es probable que una GTX 980 Ti sufra debido a un die más grande y velocidades de reloj más bajas, por lo que los datos tardan más tiempo en atravesar físicamente el chip. NVIDIA no permite que OpenCL use la caché de textura L1 en ninguna de las arquitecturas, por lo que desafortunadamente lo primero que se ve es la caché L2.

Latencia VRAM NVIDIA

Turing comienza a parecerse más a Ampere; hay una latencia L1 relativamente baja, luego una L2 y finalmente la memoria. La latencia L2 parece más o menos en línea con Pascal, mientras que la latencia de la memoria sin procesar se ve similar también hasta los 32 MB, y después sube a valores más elevados.

En cuanto a AMD, no hay una explicación para que la latencia se tan baja por debajo de los 32 KB. AMD dice que Terascale tiene una caché de datos L1 de 8 KB pero los resultados no coinciden; la prueba podría estar alcanzando algún tipo de caché de reutilización de vértices (ya que las cargas de memoria se compilan en cláusulas de recuperación de vértices).

Latencia GPU AMD

GNC y RDNA 2 tienen el aspecto esperado, y es bastante interesante ver que la latencia de AMD en todos los niveles disminuye según pasa el tiempo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

X