Si tengo 2 tarjetas GPU con 8 GB de memoria, ¿cómo puedo hacer que compartan la memoria?

No pueden compartir la memoria: la memoria está muy unida al chip de la GPU, y más en cada generación.

Se pueden configurar para cooperar y compartir recursos. La primera parte de esto es simplemente a través de la placa principal de su PC. Cada GPU moderna tendrá 16 enlaces PCI Express entre sí y el controlador PCI Express de la placa principal, que generalmente es parte de la CPU, pero no es necesario (algunos enlaces PCIe también se encuentran en los chips del sistema). Un enlace PCI Express tiene cuatro cables, que comprende una conexión diferencial de bajo voltaje bidireccional entre dos chips. Los enlaces, a veces llamados carriles en sistemas de enlaces múltiples, se combinan lógicamente para aumentar la velocidad. Los enlaces PCIe 3.0 se ejecutan a 8GT / s (8 giga-transacciones por segundo) en cada dirección, o una velocidad de conexión global x16 de alrededor de 16GB / s en cada dirección. El rendimiento real es un poco menor, basado en la codificación del protocolo y otros gastos generales … pero aún así, eso es bastante rápido.

Los enlaces PCI Express también se enrutan a través de un “conmutador” en lugar de un enrutador o un bus. Eso es importante porque una transacción entre una tarjeta y otra no afecta el subsistema de la CPU en absoluto … a menos que, por supuesto, la CPU esté intentando acceder a esa misma tarjeta al mismo tiempo. En sistemas más antiguos, las GPU vivían en un bus compartido y las transacciones no podían ir tan directamente de un dispositivo a otro sin bloquear otros recursos compartidos del sistema.

También hay una conexión de placa a placa, llamada SLI (Interfaz de enlace escalable) si está usando tarjetas nVidia, CrossFire si está usando tarjetas AMD. Cada uno de estos permite que se intercambie información especial entre dos (o a veces tres) GPU, lo que les permite coordinar información y comportarse más como, pero no exactamente como, una gran GPU.

Pero el conector de CPU a memoria integrado está altamente personalizado, en comparación con una conexión de uso muy general como PCI Express. Tomemos la nVidia Titan Black, una tarjeta GPU muy rápida y muy cara. Este diseño utilizaba memoria GDDR5, que es un tipo rápido de RAM dinámica optimizada para gráficos (esa es la ‘G ”). Esta es memoria paralela, ya que realiza transferencias de datos muy grandes de una sola vez, en lugar de en serie como un solo enlace PCIe. El Titan Black ejecuta un bus de 384 bits y transfiere a un máximo de aproximadamente 336.5 GB / s, más de 20 veces más rápido que una interconexión PCIe 3.0 x16. No hay forma de que ese tipo de rendimiento vaya entre tarjetas … al menos no por un tiempo.

Y eso no es lo más rápido. El AMD Radeon R9 Fury tiene un nuevo tipo de memoria, llamada High Bandwidth Memory (HBM). Cada módulo HBM tiene una conexión paralela de 1024 bits, y el R9 tiene cuatro de estos módulos, por lo que tiene 4096 conexiones entre la GPU y la memoria principal, para un ancho de banda de 512 GB / s (sí, cada bit aún no se ejecuta como rápido como un bit GDDR5 … ya hay un HBM2 en camino).

Usted no La interconexión de memoria es uno de los factores cruciales en el diseño de una tarjeta GPU, y está muy optimizada para la PCB. La conexión entre ellos será a través del espacio de direcciones de la CPU que, en comparación con los buses a bordo, es extremadamente lento.

Lo que está preguntando es más bien como pedir cambiar de avión sin aterrizar en el aeropuerto de intercambio.