在上一篇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技術來說也是一樣的。