ancho de banda de memoria de grado GPU en soluciones FPGA de bajo costo

2

Estoy diseñando una placa FPGA personalizada, para algo de bajo costo como un Xilinx Spartan 6. Quiero realizar una investigación sobre cómo resolver algoritmos de uso intensivo de memoria en un FPGA.

Como todos sabemos, el ancho de banda de la memoria es a menudo un cuello de botella, especialmente en soluciones de bajo costo como Spartan 6. Sin embargo, una GPU de gama media tiene más de 150 GB / s de ancho de banda de memoria.

¿Hay alguna forma de aumentar el ancho de banda en un FPGA de bajo costo a niveles cercanos a la GPU?

Sólo veo algunas maneras:

  • Conectar memoria de alto ancho de banda como DDR4 a chip GPU y conectar todo a FPGA (una solución un tanto extraña y no sé si es factible y, si lo es, el ancho de banda entre GPU y FPGA no se convertirá en un cuello de botella ?)
  • Uso de múltiples interfaces de memoria amplia y rápida para conectar la memoria fuera del chip a FPGA
  • Uso de controladores personalizados, conexiones o algo más, optimizado especialmente para esta tarea para mejorar el ancho de banda

Cuido al menos 100 GB / s. En un FPGA Spartan 6 de bajo costo, este ancho de banda sería un éxito. ¿O es imposible con esta pieza de hardware?

    
pregunta Bartosz Królak

1 respuesta

5
  

Cuido al menos 100GB / s. En Spartan 6 FPGA de bajo costo, este ancho de banda sería un éxito. ¿O es imposible con esta pieza de hardware?

Imposible. Supongamos que está utilizando una interfaz de memoria de 512 bits, que consta de 8 módulos de memoria en paralelo. Esto estaría muy cerca de las E / S máximas de usuario en la parte más grande de Spartan-6 disponible (540 E / S de usuario en el XC6SLX150T), e incluso entonces podría superar el límite con señales de control. Incluso suponiendo que esta interfaz de memoria fuera posible, 100 GB / s requerirían una velocidad de reloj de E / S de ~ 1.5 GHz (¡suponiendo un acceso de memoria 100% eficiente!), Que es poco probable que sea posible en un Spartan-6.

Para aplicaciones de gran capacidad de memoria, una GPU es a menudo una solución sorprendentemente buena.

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas