El SLI no está muerto: NVIDIA trabaja en una técnica multi-GPU llamada CFR

Desde la salida de Turing al mercado NVIDIA se ha centrado en un solo objetivo, impulsar las ventas de sus tarjetas gráficas mediante Ray Tracing. El problema es que todo juego que ha implementado Ray Tracing o DLSS ha carecido de soporte para SLI en DX11 y multi GPU para DX12. Cuando muchos daban por muerto al SLI, diversos usuarios han descubierto que NVIDIA trabaja en silencio en una nueva técnica multi GPU llamada CFR.

Esta nueva técnica de renderización multi GPU no es oficial lógicamente y además no aparece en ningún documento técnico de NVIDIA, lo cual es todavía más extraño, pero lo cierto es que al parecer se lleva incluyendo desde hace algunas versiones de drivers, donde los de Huang lo están manteniendo en total secreto.

NVIDIA CFR: un nuevo modo de renderizar cada frame

NVIDIA-RTX-SLICFR no tiene un nombre definido concreto, por lo que se están rumoreando dos posibles versiones: «checkerboard frame rendering,» o «checkered frame rendering.» El porqué de estos nombres viene dado debido a la técnica que emplea, ya que según se ha podido probar trabaja en base al llamado Tiled-Based rendering, es decir el renderizado en base a las famosas baldosas que se hizo popular con la llegada de Maxwell al mercado y la serie 900 de sus GeForce.

Para situarnos, actualmente NVIDIA trabaja con dos modos de renderizado para SLI o multi GPU (no es lo mismo cabe añadir), donde las técnicas son las conocidas AFR y SFR. En el primer caso hablamos de Alternate Frame Rendering, donde ambas GPUs comparten la memoria de vídeo en base a una copia idéntica en cada una de ellas y por lo cual ambas trabajan al unísono compartiendo la carga de trabajo para ofrecer los frame finales en pantalla.

Dicha carga de trabajo es repartida por el driver alternando de GPU en cada cuadro renderizado. En cambio, SFR divide por norma general la pantalla en dos, donde cada GPU se encarga de trabajar dicha parte de cada escena.

¿Qué hace entonces CFR? Por lo poco que se sabe, al parecer NVIDIA pretende repartir la carga de trabajo en base a las Tile (baldosas/mosaicos), por lo que cada GPU trabajaría en una Tile y luego pasaría a la siguiente una vez renderizada. En definitiva, aplicar las mejoras de eficiencia del sistema Tiled-Based al multi GPU.

¿Qué ventajas puede aportar y que es necesario?

Tiled-base-rendering

Las investigaciones realizadas en base a prueba y error por parte de los usuarios están dando resultados más o menos cercanos, donde podemos tener claros por ahora varios puntos clave:

  • Estará disponible para DX 10/11/12, pero no para OpenGL o Vulkan.
  • Requiere NVLink (arquitectura Turing o superiores).
  • Solo disponible para tarjetas gráficas Turing con puente NVLink (solo gama RTX de 2070 hacia arriba).
  • Solo se puede activar mediante NVIDIA Inspector.
  • Hay bastantes problemas de compatibilidad.
  • No hay stuttering como con AFR o SFR en los mismos juegos donde sí sucedían.

Por ahora y como hemos visto, requiere una activación manual y una prueba error en cada juego donde se habilite, donde además necesitamos un SLI de tarjetas gráficas RTX, cosa poco habitual viendo el pésimo soporte que se les ha dado por parte de NVIDIA y los desarrolladores a esta tecnología en 2019.

En cualquier caso, NVIDIA está trabajando en una mejora que parece clave, quizás de cara a Ampere, donde puede que una vez superado el escollo del Ray Tracing y habiendo movilizado al sector gaming hacia el Ray Tracing, ahora se enfoque en potenciar de nuevo el multi GPU en base a esta nueva técnica de renderizado mucho más optimizada.