SLI/交火通吃 HYDRA多显卡并联方案解析
  • Skyangeles
  • 2008年08月20日 15:49
  • 0
上个月,一家名叫Lucid的以色列新兴企业宣布了名为HYDRA Engine的第三方多显卡并联解决方案,号称可以在任意芯片组主板上实现任意厂商显卡的并联工作,以下就是目前已知的HYDRA技术原理和其他消息。

简单地说,HYDRA引擎是一项完全独立于GPU的图形分布式计算技术,实现途径包括一颗专用SoC片上系统芯片和对应的软件。目前NVIDIA和AMD的多显卡方案都采用的是分割帧渲染(SFR)或交替帧渲染(AFR)模式,Lucid则认为这两种模式都存在固有缺陷。在SFR模式下,每块显卡都需要重复保存所有的纹理和几何信息,单块显卡显存带宽和几何着色单元的限制仍然存在。而在AFR模式下,每帧画面都需要切换在显卡间切换,导致存在延迟。

HYDRA引擎芯片采用了完全不同的模式。该芯片并不负责任何GPU运算工作,它的职责在于将图形渲染工作实时分配到各GPU身上。另外,整个运算架构还包括一款独立的软件驱动,在DirectX架构和GPU厂商驱动间进行交互。

HYDRA第三方多显卡并联方案详情解析 HYDRA架构示意图

HYDRA引擎会在NVIDIA或AMD驱动前,读取来自于游戏或其他应用程序传输到DirectX的信息,并将信息划分为多个任务。某一项任务可能是一个特定的光照效果,一种后期处理,一个特定模型的绘制等等。如何将一个复杂的游戏画面划分为多个任务,正是Lucid专利算法的关键所在。

任务被划分完成后,就会通过PCI-E总线传输到HYDRA芯片,随后分配到2至4颗GPU中。GPU完成自己的运算任务后,会把结果,可能是一部分数据,也可能是一些像素交还HYDRA芯片,该芯片再这些信息交给其中一颗GPU做最后的混合输出。简单地说,HYDRA既不简单的直线分割每一帧画面,也不会机械的将各帧画面分配给各个GPU,而是将整个画面渲染工作灵活的分配完成。

Lucid公司表示,整个任务分配工作几乎不会消耗任何CPU资源,相比单卡渲染也不会有明显的延迟。他们的方案可以支持任何厂商的任何显卡,可以是ATI或NVIDIA的任何不同代显卡互联,但无法支持N卡+A卡混合。当在系统中使用不同类型显卡时,HYDRA驱动会识别各款显卡的类型,并估计其运算能力,在分配任务时将合适的运算量分配给它。如果某块显卡在渲染当中拖了后腿,HYDRA引擎会即时调整分配比例,将更多的任务分给较早完成的GPU,一切动态分配工作都在后台实时完成。

HYDRA第三方多显卡并联方案详情解析

HYDRA第三方多显卡并联方案详情解析

上面两张图片就展示了HYDRA的独特分配方式,系统中使用了两块GeForce 9800 GT显卡,运行《UT3》游戏,其中一块GPU渲染的内容是窗棂和支柱,另外一块则负责渲染其他物体,混合起来就组成了完整的游戏画面。下面的这张图片则对比了混合后的画面和剔除一块显卡渲染内容(地板)的效果。

HYDRA第三方多显卡并联方案详情解析

从硬件来看,HYDRA使用了一条PCI-E x16连接,并输出到两条PCI-E x16连接。根据合作伙伴安装方式的不同,输出可以是两颗拥有完整x16链接的GPU,或是再分割成4条PCI-E x8连接。它有两种安装方式,一是直接设计在主板上,无论使用什么芯片组,都可以实现SLI或CrossFire互联,支持2到4颗GPU,这种方式较为昂贵但效果也更好。

HYDRA第三方多显卡并联方案详情解析

另一种方式则是作为PCI-E桥接芯片安装在多芯显卡上,类似于目前Radeon HD 4870 X2板载的PLX芯片。Lucid表示他们的方案可以实现多显卡性能接近成倍的增长,比SLI或CrossFire效率高得多。

HYDRA第三方多显卡并联方案详情解析

至于该芯片本身,它的功耗仅有5W,内部结构包括一颗RISC处理器以及专用处理电路。首颗样品芯片本周刚刚制成,很快就会提供给合作伙伴,预计2009年初就能投放市场。但Lucid公司目前还拒绝透露有兴趣采用该方案的合作伙伴究竟有哪些。(值得注意的是,Lucid公司的股东包括Intel投资。)

HYDRA第三方多显卡并联方案详情解析

以下是有关该技术的一些问题,从Lucid官方得到的回答:

你们如何保证任务分配后的渲染结果与游戏开发者原本的意图准确相符?

公司已经开始实施一项“品质保证”项目,将HYDRA渲染的画面和单卡渲染画面逐像素比照,找出任何可能的问题。

有没有可能实现AMD和NVIDIA GPU共同渲染统一帧画面?

从原理上来讲是可能的。但问题在于操作系统不允许不同厂商的显卡驱动程序同时运行。比如GeForce 6800和GeForce 9800都使用相同的驱动程序,它们可以同时运行在3D模式下,但如果是一颗AMD GPU,一颗NVIDIA GPU就无法同时工作。

不同性能显卡共同工作时任务如何分配?

HYDRA软件和芯片会识别每一颗GPU,为其分配适当的工作量,比如让一颗GeForce 9800计算5项任务,GeForce 6800此时只计算一项。

支持集成显卡么?

是否支持多显示器?

支持。演示中使用两块GeForce 9800 GT以超过60FPS的帧速流畅运行《Crysis》时,另一块屏幕正在浏览网页。Lucid公司表示,就算在第二块屏幕上同时播放1080p视频对于HYDRA架构来说也没有什么问题。某块显卡在进行高清解码工作时,引擎只要少分配给它一些任务就行了。虽然分配比例肯定会进行一些调整,但对于最终用户来说完全不会有任何感觉。

支持哪些版本的DirectX,OpenGL呢?

目前仅支持DX9,年底前将实现DX10.1的支持。由于DX10和DX11在多GPU并联方面作出的改进,HYDRA引擎在新版DX下的工作只会更轻松。同时,HYDRA也支持OpenGL

这一技术可以被应用到显卡通用计算GPGPU领域么?

未来可以。目前开发人员认为,光线追踪应当是最先实现支持的应用。

HYDRA真的支持任何显卡么?

对,Lucid说只要你愿意,用几块VIA S3 Chrome并联也是完全可行的。

 

 

文章纠错

  • 好文点赞
  • 水文反对

此文章为快科技原创文章,快科技网站保留文章图片及文字内容版权,如需转载此文章请注明出处:快科技

观点发布 网站评论、账号管理说明
热门评论
查看全部评论
相关报道

最热文章排行查看排行详情

邮件订阅

评论0 | 点赞0| 分享0 | 收藏0