如何克服这些难题?
简单而言,有三个需要克服的问题:
1、单卡的输出驱动能力,例如同时驱动多少个垂直分辨率达到 2k 级别的显示设备。
2、多卡帧同步问题。
3、多机时钟同步问题。
按照改造升级的要求,显卡应该具备 6 个 4k*2k 级别显示器的驱动能力,具备这样能力的专业卡产品有 AMD FirePro V9800、FirePro W9100 等产品,此外还有针对入门级的 AMDFirePro W600 ,适合于对性能要求并不十分高的多屏应用,而在这个案例里,由于需要实现三维沙盘,对超高分辨率下的渲染性能有较高的要求,因此显卡部分基本上是 7000 系以上的产品。
AMD FirePro W9100 提供了 6 个 mini-DP 接口,支持 DisplayPort 1.2 规范,最高可以实现 6 个 4K 显示设备驱动。
在性能方面,FirePro W9100 拥有 2816 个流计算单元,在 FMA 指令下可以实现 5.2TFLOPS 和 2.6TFLOPS 的双精度/单精度计算性能,搭配 16GB 板载内存,内存带宽高达 320GiB/s,能最大限度保障 GPU 计算性能的充分发挥。
多屏输出的时候,画面同步是一个不容忽视的问题。
以三维渲染为例,一个复杂的场景中可能会有一些地方渲染负荷较低,而其它地方需要更多的渲染时间,如果采用多卡来实现多屏输出的话,就会出现画面输出不同步的问题,这就是所谓的帧同步问题。
除了单机内多卡的帧同步问题外,还有一种更复杂的情况,那就是多机、多设备情况下的信号同步问题。不同的电脑、设备要实现协作输出同步的画面,就必须听命于同一个“头”。这就好像一个交响乐团,虽然有很多个乐手,但是他们的一举一动都得听命于指挥家手中的指挥棒。
在多机并行多屏输出的情况下,这个指挥家就是被称为信号发生器的设备,基于这样的同步方案就是所谓的锁相同步技术(GenLock)。
AMD 为 FrameLock 和 GenLock 提供了一个子卡形式的解决方案——S400。