GTX 970 y el denominado “RAMGate”

Hace 10 días salió al público un pequeño benchmark con la función de testar las velocidades de transferencia de la VRAM de nuestras tarjetas gráficas Kepler y Maxwell llamado Nai’s VRAM Benchmark y con ello la polémica que rápidamente se ha denominado como “RAMGate”.

Esta polémica salió a base de que unos días más tarde, varios usuarios usaron este benchmark en sus GTX 970 y notaron que a partir de 3.2Gb de VRAM usado en el test, la velocidad baja considerablemente (de una media de 150Gb/s a 22Gb/s).

Nais VRAM Benchmark GTX 970
Debido a que la GTX 970 tiene la misma cantidad y velocidad básica de VRAM que la GTX 980 surgió también el “pánico” de que esto también pudiese afectar a la GTX 980.

Conforme progresa la investigación, el problema parece ser que la GTX 970 se pelease con nuestras aplicaciones y juegos para mantener el uso de VRAM por debajo de 3.5Gb por razones que en el momento se desconocían pero sufre una drástica (MUY DRÁSTICA) pérdida de rendimiento a partir de 3.2Gb de uso. La 980 sin embargo no se pelea con nuestro equipo y usa los 4gb enteros cuando hacen falta lo que crea incluso más confusión a la hora de investigar si la GTX 980 sufre también de este supuesto problema al compartir velocidad y cantidad de VRAM con la 970.

Todo esto nos lleva a 3 preguntas.

1: ¿El pequeño benchmark Nia de vram testea algo de verdad o simplemente está mal programado?

2: ¿Es verdad que la GTX 970 se pelea con las aplicaciones para intentar que solo se use 3.5 de sus 4gb de VRAM, y de ser así, es el resultado de un bug de hardware u otra razón?

3: ¿El límite de 3.5Gb (si existe) resulta en degradación de rendimiento en la GTX 980 también?

La 970, al igual que otras GPUs de nvidia (e históricamente unas cuantas de AMD) usa una organización de memoria asimétrica. Esto significa que, en la práctica, la gpu tiene un acceso más rápido a parte de su memoria principal que otras lo que en teoría permite un mayor rendimiento en aplicaciones y juegos que no requieran más de 3.5Gb de VRAM. Nvidia describe esta tecnología de la siguiente forma.

La 970 tiene una configuración diferente de memoria que la 980. Para optimizar el tráfico de la información dentro de tal, la memoria se ha segmentado en 2 bloques, uno de 3.5Gb y uno de 0.5Gb. La GPU tiene una prioridad mayor de acceder al bloque de 3.5Gb. Cuando un juego requiere menos de 3.5gb de vram por comando, entonces solo accederá a la primera partición y aplicaciones que miden el acceso a tal reportarán que solo 3.5Gb de memoria están en uso
por la 970 pero pueden reportar más en la 980 si hay memoria usada por otros comandos. Cuando juegos o aplicaciones requieren más de 3.5, entonces se usan ambas particiones simétricamente.

En otras palabras, la respuesta a la primera pregunta, testea el benchmark de Nia verdaderamente la velocidad de acceso a las memorias? Es que si, lo hace, pero causa este límite de acceso una pérdida de rendimiento dentro de un juego? Nvidia dice que la diferencia en aplicaciones en el mundo real es mínima incluso a 4K con todas las opciones al máximo lo cual nos lleva a más dudas sobre el supuesto “RAMGate”.

Nvidia también dice que los usuarios que vieron la diferencia de acceso a memoria en comparación con la 970 y 980 (3.5Gb supuesto limite a el 4gb total de 980) estaban viendo una diferencia real. Confirman que esta diferencia de acceso a memoria existe de verdad, no es una ilusión o un error de configuración. La 970 está diseñada para que particione su memoria de una forma que afecta mínimamente al rendimiento que causa el uso de una organización de memoria asimétrica por un supuesto bien mayor.

Viendo los resultados del benchmark vemos que en el momento de que una aplicación o juego intenta y fuerza usar más de 3.5Gb (pero incluso desde 3.2Gb de uso), la velocidad de transferencia en memoria se ve MUY drásticamente reducida en lo que a la 970 se refiere aunque nvidia asegura que es solo de un 4% pero en casos del mundo real, los FPS no parecen estar afectados, o si lo están, es absolutamente mínimo (por lo que en este sentido, ese 4% mencionado por nvidia parece ser cierto).

La siguiente prueba es hacer benchmarks sintéticos y reales, como puede ser con el MSI Kombustor y su función de “RAM Burner” que es en esencia un stress test de vram además de pruebas con juegos que requieren mucha vram como puede ser Dragon Age: Inquisition y Shadows of Mordor, ambos juegos en 4K y todas sus funciones gráficas al máximo.

MSI Kombustor no puesta una significante diferencia entre la 970 y 980 (os recordamos que aquí nos referimos a la velocidad de su VRAM donde no debería haber mucha diferencia, es más, la diferencia se hace incluso menor conforme más memoria se va usando y quizás más importante es el hecho de que no vemos una pérdida de rendimiento en una vez pasa de ese bloque de 3.5Gb/s.

MSI Kombustor GTX 970
Sin embargo en los juegos, si se nota una diferencia notable (de nuevo hablamos de uso de vram y no el juego como total ya que obviamente la 980 daría mejor resultado) y el tiempo de acceso a vram se considerablemente afectado en la 970 conforme se va incrementando su uso lo que implica que la respuesta a la segunda pregunta es SI, hay escenarios donde esta pérdida de velocidad en acceso a ram puede resultar en una pérdida de FPS en las aplicaciones y juegos como caso de “mundo real” que básicamente obligan a la gpu a usar más de 3.5Gb de VRAM por lo que las quejas de algunos usuarios de estas gpus no pierden mérito, dicho esto, las quejas como tal no tienen mucha fuerza puesto que estos juegos tiene una media de 33fps incluso con la 980 en lo que a 4K y todo al máximo se refiere.

¿Qué conclusión podemos sacar de esto?

Las quejas de los usuarios no pierden mérito, es decir, el problema está ahí en ciertos juegos, pero las pruebas son débiles como tal, se podría decir sin embargo que el problema principal aquí es la partición en 2 bloques de la VRAM y no es nada nuevo que el manejo de nvidia de vram de problemas, casos típicos como el uso de memoria en SLI (o más bien, la falta de uso del total de memoria disponible, de nuevo, por estar separada en bloques, uno por gpu). Pero el problema
es ese, que se ha esencialmente reducido el límite práctico a 3.5Gb de una gpu que tiene 4gb y se ha dejado ese 0.5 como algo “extra” para “el peor de los casos” sin decir nada de esto a los usuarios lo que quizás signifique que el supuesto “RAMGate” sea principalmente la falta de información sobre el producto de parte de nvidia a los usuarios.

Esto nos hace recordar a los equipos vendidos con 4Gb de ram en la era de 32bit donde el SO solo usaba de 2 a 3Gb para aplicaciones. Además de que la mayoría de ensambladores de gpu tienen la costumbre de meter más memoria a tales como forma de marketing y vender más, independientemente de que esta memoria acabe siendo usada o el simple hecho de que pueda ser usada cuando lo más común es que te quedes sin potencia de gpu antes de que te quedes sin ram.

La conclusión es que este problema no afecta verdaderamente a la 980, incluso el test polémico original no muestra degradación.

Nais VRAM Benchmark GTX 980
En parte afecta a la 970 pero en casos muy específicos y puede que afecte mayoritariamente a aquellos usuarios que tengan un SLI de 970 al dividir la memoria entera disponible en 4 bloques lo cual hace prácticamente imposible que esto se use eficientemente en ninguna aplicación o juego. Por desgracia esto es un problema de hardware y es muy poco probable de que se pueda
arreglar mediante drivers o actualización de firmware.

Como comentábamos en el episodio de #HablandoDeHardware de anoche (3×11 Keep Calm and VRAM), aunque este problema existe, la realidad del caso es que para cuando los juegos que usen más de 3.5Gb de RAM sea algo “normal”, nos quedaremos sin potencia de gpu mucho antes que cantidad de VRAM por lo que, problema o no problema, tendríamos el clásico problema de “necesito actualizar mi gráfica” antes de “esto es culpa de la 970 específicamente por aquello del VRAM” y quizás aquí el verdadero problema es la indignación por parte de los usuarios por el hecho de que nvidia (hiciese este cambio de estructura de VRAM por recortar costes pero mantener la potencia para poder ofrecernos una gráfica a precio entre la 960 y 980 o no) se lo ha mantenido callado y vendiese la gráfica como que tiene 4Gb insinuando que es como cualquier otra gráfica capaz de usar los 4Gb en cualquier momento cuando verdaderamente, no es el caso, al menos no lo es sin esa “pega”.

Teniendo esto en cuenta, desde Benchmarkhardware no vemos esto como razón para dejar de comprar una GTX 970 puesto que vemos que racionalmente, este problema no va a afectar al 99% de los usuarios ya que es algo muy específico y circunstancial.

GTX 970 y el denominado “RAMGate”