:facepalm: últimamente me sorprenden cada vez más las noticias en portada. Estas tarjetas no están pensadas para el usuario final. Se utilizan en centros de investigación por las prestaciones en rendimiento. Aunque hace relativamente poco, para el tema de minería de bitcoins se popularizó el uso de la gpu como una unidad de coprocesamiento, no suele ser la regla general. $3000 no es un desembolso imposible para aquellas instituciones que tienen la necesidad de paralelizar algoritmos con GPU's ¿Alguien sabe lo que cuesta una FPGA? Sus precios superan holgadamente los $5000. El usuario doméstico no tiene esas necesidades.
Sigo sin entender la existencia de tarjetas dual GPU que cuestan más caras que hacer un CF o SLI y rinden menos.
Nuevamente me remito al tema de la computación de alto rendimiento. Estas tarjetas utilizan PCIe 3.0. La tasa teórica de transferencia es de 1GB/s por cada línea. Suponiendo que se trate de una tarjeta de 8 líneas, el límite en cada dirección es de 64Gbps. 64Gbps teóricos. PCIe utiliza una codificación 128/130b y además debes sumarle el overhead que añade un protocolo basado en mensajes. Estaremos hablando típicamente de un 90% del máximo teórico.
Supongamos que conectamos 4 tarjetas mediante SLI. La placa base nos limitará el rendimiento. Supongamos que hay un total disponible de 20 líneas por decisión de diseño del fabricante. La primera tarjeta usará 8, la segunda 4, la tercera 4 y la última 4, típicamente. Esto se hace así porque no se espera que vaya a haber una ocupación de todos los slots, o que todos los slots vayan a necesitar hacer uso de todo el potencial. En ese caso no estás aprovechando las tarjetas 2,3 y 4 a pleno rendimiento. Además cada una de ellas individualmente aprovecharán el 90% de las líneas que tengan asignadas de PCIe por el comentario previo. No es igual de eficiente tener varias tarjetas en paralelo que una "más grande" aunque más cara y puede haber situaciones donde esto sea crucial. Este caso de 8 líneas no me vale. Pensemos por ejemplo que cada una usara 16 líneas. El rendimiento total sería poco mejor que el de una única gráfica.
También podría argumentar que los tiempos de accesos a memorias no tienen comparación si se usa SLI o la misma GPU. Se implementan distintos tipos de niveles cachés, tanto a nivel de instrucciones como de datos, que no es fácilmente sustituible (en términos de eficiencia) salvo en problemas donde no haya una dependencia de datos muy fuerte y sea fácilmente particionable. Ojo, con esto no quiero decir que nunca interese utilizar varias GPU's en paralelo. Esto podría ser beneficioso si hay distintos flujos de instrucciones diferencias en función de los datos de entrada y el problema se puede dividir adecuadamente.