Así es como se implementará un SSD en tu próxima tarjeta gráfica

Las GPUs están equipadas con memoria RAM de video en su interior, ya que los procesadores gráficos o GPUs tienen la capacidad de acceder a la misma. Pero, ¿es posible colocar un dispositivo de almacenamiento masivo como un SSD en una tarjeta gráfica? Lo es y os lo explicamos en este artículo.

Uno de los problemas de rendimiento con el que se enfrentan a diario los profesionales que utilizan su tarjeta gráfica para la creación de contenido es lo limitada que es la VRAM, de repente si los datos son demasiados estos descienden al disco SSD del sistema o lo que es peor, a un disco duro convencional.

¿La solución a ello? colocar memoria NVMe dentro de la tarjeta gráfica, ya se a través de un slot para discos M.2 o con memoria NVMe soldada en placa.

Memoria NVMe para aumentar la cantidad de VRAM

VRAM

Una de las particularidades de las tarjetas gráficas utilizadas en ambientes profesionales es que suelen utilizar VRAM en una configuración conocida como «clamshell» que es típico de las memoria DDR, en ellas se conectan dos chips de memoria GDDR a una interfaz en memoria en común, pero dado que la conexión es con dos chips en vez de con uno solo como sería lo habitual lo que se hace es dividir el bus de datos entre los dos, de tal manera que a cada chip de memoria tiene la mitad de ancho de banda que uno solo, pero por cada interfaz del controlador de memoria

Pero con la llegada de la API DirectStorage y el soporte de memoria SSD en las GPUs ahora es posible darle acceso a memoria NVMe a una GPU, lo que hace posible crear un nivel adicional en la jerarquía de la GPU, en la que almacenar datos que puede utilizar la GPU para acceder a ellos de manera más rápida.

Por ejemplo podemos tener una escena para renderizar que ocupe varias decenas de Gigabytes y que habitualmente necesitamos acceder al disco duro, gracias a la velocidad de acceso de los NVMe se hace posible acceder muy rápidamente a dicha información. pero, ¿acaso no sería mejor que la GPU tuviese dicha memoria?

Hay un SSD en mi tarjeta gráfica

SSD Samsung

Hace unos años AMD presento la Radeon SSG, dicha tarjeta era una AMD Vega con una particularidad y es que llevaba en su interior hasta 2 TB de almacenamiento NVMe en forma de 4 discos SSD del tipo M.2 en su interior. Dicho concepto no tuvo mucho éxito en el mercado y la Radeon SSG quedo como una anécdota.

Pero dicha idea parece que acabo gustando en Microsoft, que decidió estandarizarla en la API DirectStorage y le pidió a AMD que la integrará en el SoC de Xbox Series X. Los de Lisa Su por otro lado no dudaron en ofrecer la tecnología a SONY y el resultado es una nueva generación de consolas no solo basada en el SSD sino en la que la «VRAM» tiene una mayor capacidad.

El concepto es muy sencillo, la GPU ve tanto la VRAM como la memoria del SSD como si fuese un mismo pozo de memoria, pero a través de un controlador de memoria avanzado, cuando se hace una petición a una dirección correspondiente al SSD esta es copiada a una parte de la propia VRAM que sirve como cache de datos para el SSD, por lo que gracias a la alta velocidad de la interfaz PCI Express los datos se transmiten rápidamente de la memoria NVMe a la RAM de manera totalmente transparente.

¿Cómo accede la gráfica al SSD en la tarjeta?

Radeon SSG Diagrama

Toda GPU tiene dos unidades DMA que le permiten acceder no solo a la RAM del sistema, pero en las últimas GPUs lanzadas al mercado y que son compatibles con DirectStorage lo que se ha hecho es dar acceso al SSD del sistema a través de dar acceso a los puertos PCI Express.

Pero instalar un SSD en la GPU es distinto, ya que esta memoria estaría antes del puerto PCI Express, para ello sería necesario añadir 4 líneas PCI Express para colocar un SSD, que es lo que hizo AMD con la Radeon SSG, pero en el caso de la tarjeta gráfica de AMD lo que hicieron fue añadir otra interfaz PCIe de 16 líneas, de ahí que esta tenga 4 unidades M.2.

Aunque pueda parecer una estupidez el hecho de colocar una o varias interfaces SSD en una tarjeta gráfica o en su defecto soldar un SSD con memoria NVMe, en realidad no lo es para nada si tenemos en cuenta las enormes ventajas que esto supone, especialmente para la GPU a la hora de buscar grandes volúmenes de datos.

Clave para la edición de vídeo y el Ray Tracing profesional

Video Encoding

Una de las utilidades de las GPUs es a la hora de codificar y descodificar vídeo a tiempo real, pese a que existen hay unidades especializadas en ello, a la hora de trasladar un video de un formato a otro, especialmente si hablamos de uno de gran tamaño nos podemos encontrar con que la información acaba por no caber en la VRAM y se vuelca en un disco duro.

El hecho de tener un SSD permite que ese contenido pueda ser volcado en el SSD una vez desaparece de la VRAM, imaginad estar editando un enorme video de varias decenas o cientos de Gigabytes en vuestro PC y encontraros que la gráfica tiene acceso directo al mismo. Esto es sumamente útil para lo que se llama Encoding de video, que es convertir un archivo de video de un formato y resolución a otro formato y resolución a tiempo real para transmitirlo vía streaming.

El hecho de que el CODEC de video situado en la GPU tenga acceso a un SSD situado en la tarjeta gráfica significa acelerar el rendimiento, ya que la búsqueda de datos es mucho más corta que hacerlo a un SSD instalado en el sistema. Lo que significa poder acceder a los datos del streaming de video lo más rápido posible, ideal para la edición de video a resoluciones 4K.

Professional Ray Tracing

Otra utilidad clave va a ser de cara al Ray Tracing profesional, con el objetivo de almacenar por completo toda la estructura de datos espacial de una escena sumamente compleja, esto ayudará a acelerar el proceso de renderizado y a evitar que los sistemas se pasen largos tiempo en generar una escena o una sucesión de las mismas.

Se puede concluir que el añadido de unidades NVMe o disco SSD en una tarjeta gráfica es algo que ayuda enormemente al rendimiento de una GPU en entornos profesionales y que será una punta de lanza en el mercado del hardware para los creadores profesionales de contenido.