|
现在的多GPU互联技术从效率上看是没有问题的,但是不够聪明,面对五花八门的渲染程序缺乏应对的灵活性,必须依靠驱动来一个一个优化调整。这是因为GPU之间缺乏通讯所至。另外一方面每个GPU只能管理自己的内存,因而无论内存总数有多大,对各自为政的GPU来说可用的内存就是自己眼前的这些,这无疑是很大的浪费,并且在和单GPU的较量中存在一个不利的隐患。
如果GPU之间能直接通信呢?
首先任务分配会更智能化更灵活,驱动只需要告诉GPU渲染程序的种类,GPU便能够以最佳方式分配任务和使用恰当的模式运行。这样驱动的任务就减轻了,多GPU运行的效率也更高。
其次GPU之间可以交流各自内存的数据,并且透过驱动决定内存读取的方式:各自使用自己的内存还是共享内存。
我认为AMD必定会采用这样的方式,那就是每个GPU都能够通过自己的环形总线访问另一个GPU的环形总线,从而把所有内存部分或者全部看作一个整体。
当然这样做会使数据交换过程变得复杂造成延迟和运行效率下降。关键是效率降低的程度能否被容忍或者通过有效方法加以弥补。 |
|