论文部分内容阅读
在上一篇Sandy Bridge平台架构分析系列的文章中,笔者介绍了Sandy Bridge桌面版处理器的GPU架构,其性能比起前代来有了很大的提升。虽然比起主流独立显卡还有些差距,不过有一项功能是所有独立显卡都不及的:视频转码。Sandy Bridge的Quick Sync快速转码性能非常强,远高于通常的显卡。对于一些玩家来说,他们既想拥有Sandy Bridge GPU的Quick Sync功能,又想拥有独立GPU的强劲图形处理能力。
在网卡上,我们使用端口聚合(或者说端口绑定)功能已经很多年了,多显卡如AMD/ATI的CrossFire以及NVIDIA的SLI也已经被玩家应用为时已久,这些方案都是通过集成一堆类似的硬件来达到扩展、提升其能力的目的,例如,两个千兆网卡聚合之后可以提供两千兆的能力,显卡方面也类似这样,图形处理能力得到近似于线性的增长。
然而CrossFire/SLI这样的显卡方案仍然仅局限于同系列GPU的聚合,同厂商不同系列的GPU实现起来会受很多限制,不同厂商的GPU如Sandy Bridge和其他厂商的产品协同工作就更是不用想了。有没有一种通用的、可以让任意的GPU协同工作的方案呢?
显卡虚拟化:Lucid Virtu技术
有的,在2008年的时候,一家名为Lucid的以色列公司拿出了一种GPU混交方案,它是一种硬件芯片方案,而通常的CrossFire/SLI则是靠驱动进行负载分割(网卡聚合也是这样)。它通过一个类似PCI Express桥——放在主板与显卡之间——的一个专用芯片支持AMD与NVIDIA显卡的联合工作,这个被称为Hydra的芯片使用内部的RISC处理器,根据负载分配不同的渲染负荷给不同的GPU,不需要借助AMD/NVIDIA的CrossFire/SLI的专用软件。在历经Hydra 100、Hydra 200之后,Lucid最终提供了一种还算比较稳定的解决方案,并出现了一些对应的主板。
Hydra技术终归没有被大规模应用,不过,Lucid并没有气馁。随着Sandy Bridge平台的出现,Lucid又推出了新的显卡协同工作方案:Virtu,这是一种软件方案。Virtu可以说是Hydra技术的延续,通过引入Lucid多GPU抽象层,Lucid隐藏了不同厂商的GPU的不同之处,而通过Lucid渲染分配管理器,让需要不同特性的任务负载可以分配到负荷需求的GPU上,并通过最终的Lucid GPU互操作引擎进行混合显示输出。Lucid实现了和Hydra同样的分配不同的运算任务到不同的GPU的目的,如图1所示。
和Hydra不同,Virtu目前并没有拆分同一个任务到不同显卡上的能力,而仅仅是对不同的任务进行分配。通过Lucid Virtu技术,我们可以实现Sandy Bridge的GPU和其他厂商的GPU的协同工作。实际上,Lucid Virtu要求基于Sandy Bridge核芯显卡,并且基于英特尔Z68芯片平台。
性能测试:表现不错
笔者使用了一套英特尔Z68系统进行了测试:一个英特尔Core i7 2600K处理器,以及Core i7 2600K集成的英特尔HD3000核芯显卡,它们安置在一块基于Z68芯片组的技嘉GA-Z68A-U3D-B3主板上,磁盘使用三个希捷7200.12 1TB组建的RAID5系统,以及与英特尔20GB SSD 311固态硬盘组成的智能响应技术加速系统,最后搭配了一块NVIDIA GeForce GTX560独立显卡。我们使用的Lucid Virtu软件版本是最新的1.2.102。
Lucid Virtu提供了两种运行方式:i-mode和d-mode,这并不好记忆,很容易混淆。不过只要了解i和d分别就是integrated(集成)和discrete(独立)的意思就很容易区分了,它们分别代表了显示器连接在集成核芯显卡/独立显卡上。
如图2所示,Sandy Bridge集成的核芯显卡并不支持DirectX 11加速能力,因此无法运行3DMark11测试,而NVIDIA的GeForece GTX560支持DirectX 11,并且支持CUDA等特性。在使用Lucid Virtu软件之后,显示器连接在Sandy Bridge核芯显卡的接口也可以正常地进行,负载被分配到GTX560上进行运算,并通过核芯显卡的接口进行输出。
基于DirectX 10的3DMark Vantage情况稍有不同,i-mode的性能明显比独立显卡模式和d-mode要高一点,这很难解释,可能Virtu或多或少也具有一点拆分任务的功能。
Lucid Virtu是一个很特别的技术,它允许不同厂商的GPU进行协同工作,像SNB平台的核芯显卡具有很强的Quick Sync转码能力,然而3D加速能力就比较一般,并且只支持到DirectX 10 API,而主流的独立显卡都已经支持到DirectX 11。因此,通过使用Lucid Virtu技术,将Sandy Bridge核芯显卡和一个强劲的DirectX 11独立显卡进行搭配,就可以获得完美的功能特性以及性能表现,如QuickSync和NV PhysicX这样的特性可以实现并存。除此之外,还有一个附加的好处是在执行低负荷的任务,例如视频播放的时候,不需要动用高功耗的独立显卡。获得这些优点的代价是5%左右的性能损失,因为最后的数据要从一个显卡复制到另一个显卡上, 这一点对于CrossFire和SLI技术来说也是一样的。
在网卡上,我们使用端口聚合(或者说端口绑定)功能已经很多年了,多显卡如AMD/ATI的CrossFire以及NVIDIA的SLI也已经被玩家应用为时已久,这些方案都是通过集成一堆类似的硬件来达到扩展、提升其能力的目的,例如,两个千兆网卡聚合之后可以提供两千兆的能力,显卡方面也类似这样,图形处理能力得到近似于线性的增长。
然而CrossFire/SLI这样的显卡方案仍然仅局限于同系列GPU的聚合,同厂商不同系列的GPU实现起来会受很多限制,不同厂商的GPU如Sandy Bridge和其他厂商的产品协同工作就更是不用想了。有没有一种通用的、可以让任意的GPU协同工作的方案呢?
显卡虚拟化:Lucid Virtu技术
有的,在2008年的时候,一家名为Lucid的以色列公司拿出了一种GPU混交方案,它是一种硬件芯片方案,而通常的CrossFire/SLI则是靠驱动进行负载分割(网卡聚合也是这样)。它通过一个类似PCI Express桥——放在主板与显卡之间——的一个专用芯片支持AMD与NVIDIA显卡的联合工作,这个被称为Hydra的芯片使用内部的RISC处理器,根据负载分配不同的渲染负荷给不同的GPU,不需要借助AMD/NVIDIA的CrossFire/SLI的专用软件。在历经Hydra 100、Hydra 200之后,Lucid最终提供了一种还算比较稳定的解决方案,并出现了一些对应的主板。
Hydra技术终归没有被大规模应用,不过,Lucid并没有气馁。随着Sandy Bridge平台的出现,Lucid又推出了新的显卡协同工作方案:Virtu,这是一种软件方案。Virtu可以说是Hydra技术的延续,通过引入Lucid多GPU抽象层,Lucid隐藏了不同厂商的GPU的不同之处,而通过Lucid渲染分配管理器,让需要不同特性的任务负载可以分配到负荷需求的GPU上,并通过最终的Lucid GPU互操作引擎进行混合显示输出。Lucid实现了和Hydra同样的分配不同的运算任务到不同的GPU的目的,如图1所示。
和Hydra不同,Virtu目前并没有拆分同一个任务到不同显卡上的能力,而仅仅是对不同的任务进行分配。通过Lucid Virtu技术,我们可以实现Sandy Bridge的GPU和其他厂商的GPU的协同工作。实际上,Lucid Virtu要求基于Sandy Bridge核芯显卡,并且基于英特尔Z68芯片平台。
性能测试:表现不错
笔者使用了一套英特尔Z68系统进行了测试:一个英特尔Core i7 2600K处理器,以及Core i7 2600K集成的英特尔HD3000核芯显卡,它们安置在一块基于Z68芯片组的技嘉GA-Z68A-U3D-B3主板上,磁盘使用三个希捷7200.12 1TB组建的RAID5系统,以及与英特尔20GB SSD 311固态硬盘组成的智能响应技术加速系统,最后搭配了一块NVIDIA GeForce GTX560独立显卡。我们使用的Lucid Virtu软件版本是最新的1.2.102。
Lucid Virtu提供了两种运行方式:i-mode和d-mode,这并不好记忆,很容易混淆。不过只要了解i和d分别就是integrated(集成)和discrete(独立)的意思就很容易区分了,它们分别代表了显示器连接在集成核芯显卡/独立显卡上。
如图2所示,Sandy Bridge集成的核芯显卡并不支持DirectX 11加速能力,因此无法运行3DMark11测试,而NVIDIA的GeForece GTX560支持DirectX 11,并且支持CUDA等特性。在使用Lucid Virtu软件之后,显示器连接在Sandy Bridge核芯显卡的接口也可以正常地进行,负载被分配到GTX560上进行运算,并通过核芯显卡的接口进行输出。
基于DirectX 10的3DMark Vantage情况稍有不同,i-mode的性能明显比独立显卡模式和d-mode要高一点,这很难解释,可能Virtu或多或少也具有一点拆分任务的功能。
Lucid Virtu是一个很特别的技术,它允许不同厂商的GPU进行协同工作,像SNB平台的核芯显卡具有很强的Quick Sync转码能力,然而3D加速能力就比较一般,并且只支持到DirectX 10 API,而主流的独立显卡都已经支持到DirectX 11。因此,通过使用Lucid Virtu技术,将Sandy Bridge核芯显卡和一个强劲的DirectX 11独立显卡进行搭配,就可以获得完美的功能特性以及性能表现,如QuickSync和NV PhysicX这样的特性可以实现并存。除此之外,还有一个附加的好处是在执行低负荷的任务,例如视频播放的时候,不需要动用高功耗的独立显卡。获得这些优点的代价是5%左右的性能损失,因为最后的数据要从一个显卡复制到另一个显卡上, 这一点对于CrossFire和SLI技术来说也是一样的。