SLI: Scalable Link Interface
Pokud jste začali čtením tohoto článku, nebuďte překvapeni, že v něm nenajdete žádné konkrétní výsledky z her nebo 3DMarku. Ty byly v podrobné podobě hlavní náplní dvou předchozích části miniseriálu o SLI na GeForce 8800 GT a GTX 260:
- SLI dvou GeForce 8800 GT a GTX 260 I. - herní testy
- SLI dvou GeForce 8800 GT a GTX 260 II. - plynulost her
Ve zmíněných článcích najdete také podrobnosti o testovací sestavě, použitých ovladačích a verzích testovacího software. Zajímají-li vás detailní měření (logy z programu FRAPS), screenshoty z ovladačů (více monitorů na SLI, režimy anti-aliasingu apod.), RivaTuneru, GPU-Z a mnoho dalšího materiálu, zavítejte do krátkého doplnění SLI trilogie. Jelikož poslední teoretické pasáže o SLI jsem zveřejnil v článku v říjnu 2007, kdy je měla šance číst sotva 1/15 současného množství čtenářů, s dovolením si je znovu vypůjčím:
„Většina z vás má asi zkratku SLI spojenou s kartami 3Dfx Voodoo 2. Tyto karty byly poprvé vybaveny technologií Scan-Line Interleaving, která umožňovala spolupráci dvou Voodoo 2 spojených speciálním kabelem, který se podobal uprostřed rozstřiženému FDD kabelu. Čipy obou karet se střídaly ve vykreslování sudých a lichých řádků, a tak bylo možné teoreticky zajistit dvojnásobný fill-rate.
Dvě karty 3Dfx Voodoo 2 propojené kabelem SLI. Zdroj: Tom`s Hardware Guide
S návrhem čipu VSA-100 (použitým ve Voodoo 4 a Voodoo 5) bylo SLI dále vylepšeno a stalo se hlavně pro karty Voodoo 5 životně důležitým. Při zapojení více čipů VSA-100 (Voodoo 5 5500 mělo dva VSA-100 a Voodoo 5 6000 hned čtyři) rostla nejen rychlost, ale také maximální možný režim anti-aliasingu a navíc bylo možné dělit vykreslování mezi karty i po skupinách řádků. Více se o schopnostech karet Voodoo 5 (případně ještě víceprocesorových monster od Quantum 3D) dočtete na www.3dfx.cz.
Firmu 3Dfx však při krachu odkoupila Nvidia, a tak se pojem SLI objevil znovu u třídního nepřítele většiny přívrženců bývalého krále herních 3D karet. Tentokrát už zkratka znamená Scalable Link Interface a hodně těží z rychlosti sběrnice PCI Express (×16 = 8 GB/s). Ke zprovoznění dvou karet v režimu SLI musíte splnit následující podmínky:
- mít základní desku s čipovou sadou Nvidia nForce 4 SLI a k ní dodávaný SLI můstek
- mít dvě stejné grafické karty GeForce 6600 GT (nebo 6800, 6800 GT či Ultra) od jediného výrobce, které se navíc neliší ani verzí BIOSu
- dostatečně silný zdroj a dostatek napájecích konektorů. zejména v případě dvou karet GeForce 6800 (dvakrát 6-pin nebo čtyři 4-pin Molex)
Především fakt, že musíte mít dvě identické karty, může být velkým problémem a jde i trochu proti myšlence: „Dnes koupíte jednu GeForce 6800 pro SLI a až vám nebude stačit, přikoupíte druhou a zapojíte do SLI“. Za pár měsíců už nemusí být identická karta dostupná, revize se mění třeba i 4× za čtvrt roku. Jediné čím se mohou karty lišit, je pracovní frekvence – potom ovladač automaticky nastaví takt obou karet na hodnoty pomalejší z nich.
Pokud použijete režim SLI, rozdělí se původních 16 PCIe linek pro jediný slot mezi sloty dva, jež mají tedy k dispozici rychlost PCIe 8× (4 GB/s). Fyzicky zůstávají sloty samozřejmě stejné, mění se pouze komunikace v nich. Aby procesor nemusel posílat data ke zpracování na grafické kartě dvakrát pro každé GPU ve SLI, tak se o rozdělovaní dat stará můstek nForce 4 SLI MCP, který by měl údajně pracovat s přenosovou rychlostí až 10 GB/s.
Samotné vykreslování pak řídí přímo ovladač grafické karty. Narozdíl od přístupu 3Dfx se už jednotlivé karty nestřídají ve vykreslování jednotlivých či několika řádků, ale ovladač horizontálně rozdělí obrazovku na dva pokud možno stejně výpočetně náročné úseky. Rozdělují se tedy opět řádky, ale každá karta obdrží jedinou souvislou skupinu. Tomuto postupu se říká SFR (Split Frame Rendering). Když ovladač špatně odhadne náročnost jednotlivých částí a jedno GPU dokončí svou práci dříve, musí pak čekat, než práci dokončí i druhé GPU. Efektivita pak samozřejmě klesá. Mechanismus, který má na starosti právě odhad náročnosti je podobný jednotce předvídání větvení kódu (branch prediction), kterou už dlouhá léta používají výrobci procesorů.
SFR však není implicitní metodou práce GeForce 6 v SLI. Tou je většinou rychlejší Alternate Frame Rendering (AFR), který poprvé realizovala konkurenční společnost ATI u Rage Fury MAXX. Jak už anglický název napovídá, při tomto režimu se obě dvě karty střídají ve vykreslování jednotlivých celých snímků. AFR však nelze použít u některých aplikací (například u těch, co používají postprocessing, kdy se frame buffer hned nevymaže, ale jeho obsah se ještě dále využívá).
Nvidia GeForce 8800 Ultra SLI: V době, kdy tato konfigurace byla aktuální, stála zhruba 32 000 Kč (případně ještě náklady na desku s SLI). Zdroj obrázku: Nvidia
Ovladač však nedělá to, že by používal AFR a když by usoudil, že je třeba SFR kvůli některým efektům, tak by na něj za běhu přepnul, ale řešení je méně elegantní. Ovladač se jednoduše řídí seznamem her, u kterých má uvedeno, jaký režim SLI lze použít.“
V uvozovkách cituji sám sebe z článku Nvidia GeForce SLI: Zařaďte dvojku zveřejněném 21. 12. 2004 na serveru Živě.cz. Od té doby se ohledně SLI pár věcí změnilo:
- Už nemusíte mít dvě naprosto identické karty: od ovladače ForceWare verze 80 lze kombinovat kartu různých výrobců, s různým BIOSem, jen musíte stále zachovat, že se jedná o dva stejné modely (tedy například dvě GeForce 8600 GTS). Můžete dokonce spárovat jednu výrobcem přetaktovanou a jednu nepřetaktovanou kartu (v SLI poběží obě na taktech té pomalejší). Pomocí jednoho triku s Coolbits (hodnota nastavena na 18, nebo 1A, chcete-li ještě přetaktovat) můžete spřáhnout i dvě karty s různou velikostí grafické paměti (např. GeForce 8800 GTS 640 MB a 8800 GTS 320 MB).
- Přibyl nový SLI anti-aliasing, jež u dvou GPU ve SLI umožňuje zdvojnásobit maximální počet vzorků pro anti-aliasing. Se dvěmi GeForce 7900 v SLI tak můžete mít až 16× AA, u Quad-SLI (dvě dvoučipové GeForce 7950 GX2, celkem čtyři GPU) dokonce až 32× AA. Ovladače ForceWare pro GeForce 8800 zatím SLI AA neumožňují (a zřejmě ani umožňovat nebudou), musíte se spokojit s 16× AA, jež umí jediná G80.
- SLI funguje i se silnějšími kartami jako jsou GeForce 8800 bez spojovacího můstku (přes sběrnici PCI Express). Nárůst výkonu je pak samozřejmě nižší (a spotřeba naopak maximální), ale funguje to (vyzkoušel jsem na čipové sadě nForce 680i a dvou GeForce 8800 GTX).
- SLI by mělo fungovat i ve hrách, pro něž zatím v ovladačích ForceWare není vytvořen profil. Pokud v ovladačích ponecháte položku SLI performance mode na hodně nesmyslně nazvanou hodnotu Single-GPU, ovladač sám vybere nejvhodnější režim SLI. Můžete ale sami vynutit SFR nebo jeden z režimů AFR:
- Základní desky se třemi PCIe ×16 sloty a čipovými sadami nForce 680i a 780i brzy nabídnou podporu 3-way SLI. Pro Triple SLI budete potřebovat tři karty GeForce 8800 GTX/Ultra (každá má dva SLI konektory).
- I bez restartu už SLI podporuje buď výkonný režim pro jeden monitor, nebo nespřažený mód s podporou výstupu až na čtyři monitory. V ovladačích stačí přepnout Enable SLI/Do not use SLI:
- Nvidia připravuje Hybrid SLI. To umožní přidat k integrované grafice série GeForce 8 (čipset se teprve chystá) přidat jakoukoli samostatnou kartu ze stejné generace a využívat SLI. Řešení bude mít význam hlavně při přidání druhé levné grafiky, kde by nárůst výkonu mohl činit i několik desítek procent (k nějaké výkonné diskrétní grafice bude zbytečné přidávat slabou integrovanou do SLI).
Tři poslední body od konce roku 2007 doznaly opět bouřlivých změn:
- 3-way SLI je podporováno už mnoha dalšími čipsety (nForce 790i Ultra SLI, Intel X58, ...), řady karet se rozrostly o GeForce 9800 GTX, GTS 250, GTX 260/275/280 a 285. Quad-SLI lze získat spojením dvou GeForce 9800 GX2 anebo GTX 295.
- Co se týče dlouho vyčítané absence podpory SLI a současného zobrazení na více monitorů, tak zde Nvidia skutečně konečně zapracovala (v rámci svého pompézního Big Bang II) a kýženou funkcionalitu uživatelům přinesla.
Kolik
tedy může být monitorů, pouze dva, nebo více? Jak se to vezme. K
počítači můžete klasicky připojit dva displeje ke každému grafickému
adaptéru, s tím, že SLI (klasické i 3-way) se chová jako jeden adaptér.
Na dvou monitorech, které jsou připojeny k primární kartě SLI komba,
pak můžete spouštět 3D hry, které běh na dvou monitorech nabízí. Ty
jsou všeho všudy tři: Supreme Commander, World in Conflict a Flight
Simulator X. (Lukáš Fiala, 22. 10. 2008) - Hybrid SLI se od té doby na desktopu zrodilo a poté zase zemřelo, v mobilním segmentu pokračuje. Více se o zřejmě už dále nepodporovaném (ale přesto na určitých existujících konfiguracích dobře funkčním) Hybrid SLI (a jeho částech GeForce Boost a Hybrid Power) dozvíte v tomto článku.
Mimo toho všeho se na podzim roku 2008 poprvé stalo, že SLI oficiálně pracuje i na jiné čipové sadě než Nvidia nForce. Nvidia nemá licenci na QPI a jedinou možností, jak mít SLI i s procesory Core i7, byla podpora SLI na čipové sadě Intel X58.
Spotřeba
Spotřeba
Sestava s přetaktovaným Core i7 920, 6 GB paměti a herní grafickou kartou už něco spořádá, hodnotám od 100 wattů v idle se tedy nedivte.
Gigabyte ke svým zdrojům řady Odin GT dodává zajímavou utilitu Power Tuner, ve které kromě regulace větráku, sledování teplot a dalších věcí můžete vidět i spotřebu sestavy. Nakolik jsou tato měření přesná, to nevím, ale vypadají docela jako čísla korelující se spotřebou na wattmetru, jen tentokrát bez (ne)účinnosti zdroje.
Teplotní testy
Teplota
Teplotu GPU jsem odečítal z programů GPU-Z a RivaTuner (pro všechny karty oba programy ukazují stejné hodnoty) zhruba po 10 minutách klidu ve 2D prostředí Windows Vista.
U SLI a CrossFire konfigurací jsem bral v potaz teplotu více se zahřívajícího GPU. U dvojice karet to byla typicky ta výše umístěná (ke které stoupal teplý vzduch z té spodní), u Radeonu HD 4870 X2 pak čip blíže výstupům na monitor.
Teplotu z extrémní 3D zátěže programu Furmark odečítám poté, co křivka teploty přestane růst. Spouštěcí soubor je přejmenován na etqw.exe.
Vliv anti-aliasingu na výkon
Současné
GeForce nabízí kromě standardních režimů anti-aliasingu (tedy 2×, 4×,
8× rotated grid multi-sampling) ještě tzv. CSAA (Coverage Sampling
Anti-Aliasing). Jeho režimy se liší počtem ukládaných vzorků (barva, Z,
textura), stručně by se dalo říct, že třeba 16× CSAA by mohlo být
kvalitativně lepší než 4× MSAA, ale povětšinou horší než 8× MSAA.
Výkonnostně je z podstaty své funkce ale blíže 4× MSAA. U GeForce GTX
nechybí ani režimy transparency multi-sampling a super-sampling pro
anti-alias průhledných textur (tráva, listí, stromy). Zatímco první
není kolikrát ani poznat, druhý je sice vizuálně bezva, ale dopad na
výkon bývá drastický.
Radeony
je na tom se základní výbavou podobně. Stejné režimy multi-samplingu
(zajímavý 6× sparse odešel společně s Radeony X1950, tedy generací
R520/R580), obdobné režimy anti-aliasu průhledných textur (jen se
jmenují adaptivní vyhlazování kvalita/výkon). Radeony HD 4800 nemají
žádné CSAA, ale CFAA. Custom Filters Anti-Aliasing sice není až tak
custom, jak byste možná doufali, zato mezi mnoha ostatní skrývá dva
poklady. Zatímco wide tent a narrow tent se většině lidí nelíbí kvůli
možnému rozmazávání (některé weby vzpomínaly na ošklivý Nvidia
Quincunx), režimy edge-detect (12× a 24×, tedy čtyři vzorky plus
detekce hran, resp. osm vzorků s detekcí hran) jsou jiná káva. 24× CFAA
(edge-detect) je dost možná vůbec nejkvalitnější dostupný režim
anti-aliasingu na herních grafikách.
Enemy
Territory: Quake Wars je jednou z her, která umožňuje mnoho režimů
anti-aliasingu zapnout přímo v menu. To je mimochodem v dnešní době
také lepší, protože to jednak správně funguje a také globální vynucení
v ovladačích není pohodlné pro ty, kdo střídají hraní více her. Jedině
CFAA režimy Radeonu musíte bez ohledu na hru vždy vynucovat v
ovladačích.
Shrnující grafy, škálování SLI graficky
Shrnutí výkonu
Každá hra se na výsledném skóre tedy podílela vahou 1/13. Pět her
využívá rozhraní DirectX 9.0 (většinou i vymoženosti verze 9.0c, tedy
shader model 3.0), jedna OpenGL, dvě DirectX 10 a čtyři pak nejnovější
DirectX 10.1. Akceleraci PhysX skrze GPU dokáže využít jeden titul v
jednom z použitých nastavení. Komu započítání proprietární technologie
ve shrnutí (váha 1/26) nesedí, může se podívat na shrnutí výkonu bez
GPU PhysX (graf pro 1680 × 1050 a 1920 × 1200 px).
Pro počítání poměru cena/výkon jsem vzal v potaz nejnižší ceny karet dostupné skladem na Alfacomp.cz. Výsledkem hledání byly takovéto nejnižší ceny (platné k 13. 7. 2009). Ty patří vždy nejlevnější kartě se stejným taktem a velikostí paměti jako v testu se statusem dostupná skladem. Hledáte-li skutečně nejnižší možné ceny karet ATI Radeon (napříč všemi obchody v ČR), může vám pomoci toto vlákno diskuzního fóra. Nalezenými jsem podělil celkový výkon karet.
Suma sumárum v jediném čísle bude vždy značně zjednodušující. I proto je možná lepší výsledky zobrazit trochu jinak: s ohledem na výkon v jednotlivých hrách. Nejdříve srovnání dvou GeForce GTX 260 SLI s cenově podobným řešením (nevyžadujícím však základní desku s podporou SLI): Radeonem HD 4870 X2. V grafu je myslím také docela hezky graficky znázorněno škálování SLI (tmavě zelená versus světle zelená křivka). Srovnejte si tento graf s grafem škálování CrossFire na Radeonu HD 4870 X2.
Za cenu dvou GeForce 8800 GT (SLI) a malý příplatek už můžete mít Radeon HD 4890. Rozdíl v ceně se asi vejde do rozdílu cen desek s jedním a dvěma PCIe ×16 pro grafické karty. Z grafu je opět dobře vidět škálování SLI na GeForce 8800 GT (9800 GT, chcete-li).
Srovnáním dvou předcházejících grafů můžete poměrně dobře zjistit, kde už je SLI dvou GTX 260 limitováno procesorem a kde naopak dochází k tomu, že škálování dvou GeForce 8800 GT je slabší (vinou limitujících 512 MB grafické paměti). Škálování dvou GeForce 8800 GT můžete také srovnat s grafem škálování dvou Radeonů HD 4770 v CrossFire.
Verdikt
Verdikt
Předchozí výsledky (pokud jste přeskočili předposlední kapitolu, doporučuji návrat do její spodní a snad velmi přehledné části) jsem se pokusil upravit ještě do tabulkové podoby, součástí jsou i měření spotřeby, teploty a pak nějaké souhrnné průměry. Nejprve opět pro GeForce GTX 260, SLI a HD 4870 X2:
Ta samá tabulka pro GeForce 8800 GT (SLI) a Radeon HD 4890. Zkratka 16×10 patří rozlišení 1680 × 1050 px a 19×12 potom 1920 × 1200 px.
Na použité testovací sestavě a sadě 13 testovacích her bylo dosaženo takovéto škálování Multi-GPU:
- GeForce 8800 GT SLI: 161,4 % jedné GeForce 8800 GT
- GeForce GTX 260 SLI: 155,7 % jedné GeForce GTX 260
- Radeon HD 4770 CrossFire: + 134,7 % jednoho Radeonu HD 4770
- Radeon HD 4870 X2: + 144,6 % oproti jednomu Radeonu HD 4870 (1024 MB)*
*... Radeon HD 4870 X2 nemá pro komunikaci se zbytkem systému k dispozici 2× PCIe ×16 2.0 jako ostatní karty, ale pouze 1× PCIe ×16 2.0. Funkce SBA je u R700 bohužel zřejmě navždy neaktivní.
K výsledkům je potřeba poznamenat, že ačkoli jsem u testování Radeonů a CrossFire poctivě zkoušel přejmenování souborů a kombinaci s Catalyst AI Advanced, teprve u druhého testu (HD 4870 X2) jsem díky Lazarovi už dosáhl škálování v Trackmania Nations Forever. Pár procent by tedy HD 4770 CrossFire s tímto trikem přibylo. Přičinu celkově nižších výsledků v Crysis Warhead na testovací konfiguraci hledáme.
Na druhou stranu je třeba vidět také fakt, že všechny výsledky GeForce v SLI jsou naměřeny takříkajíc napoprvé, v základním nastavení ovladačů. A to ještě Nvidia na rozdíl od ATI nenutí uživatele v případě nefungujícího Multi-GPU přejmenovávat soubory (nebo se spokojit s výkonem single karty) ale poměrně pohodlně můžete v profilu pro každou 3D aplikaci (vázáno na spouštěcí soubor) SLI vynutit (a dokonce vyzkoušet přepnutí z AFR1 na druhý režim AFR anebo SFR).
Jiný výběr her a nastavení by znamenal jiné škálování vybraných Multi-GPU konfigurací, i proto je obzvláště při přemýšlení o Multi-GPU (ať už SLI, nebo CrossFire) dobré prohledat co nejvíce testů a zjistit si úspěšnost zapojení druhého (či třetího a čtvrtého, jste-li dobrodruzi) GPU do výpočtů. Hodně vám může pomoci naše vlákno o škálování SLI/CrossFire, kde kromě uživatelských výsledků najdete měření EHW a také už výsledky redakce Živě/Computer.
Přesto, že škálování dvou GeForce 8800 GT se už blížilo pěkným 60 % navíc, není tato konfigurace ve srovnání s takovým jediným Radeonem HD 4890 příliš výhodná. Grafy průběhu i grafy v předchozí kapitole prokázaly, že her, kde by vám SLI (či CrossFire) na dvou řekněme dnes už slabších grafikách pomohl z bryndy v těch opravdu náročných nastaveních, asi moc není. Desek s podporou SLI v levném segmentu také moc nenajdete, o přikoupení druhé GeForce 8800 GT do SLI mohou tak uvažovat opravdu jen už stávající majitelé jedné karty a vhodné základní desky. Pak krom velmi vysokých rozlišení dostanou za investici 2500 Kč pro mnoho her velkou výkonnostní injekci.
Dvě GeForce GTX 260 v SLI už občas narážely na limit výkonem procesoru a k nevýhodě v podobě nutnosti vlastnění desky SLI si ještě přidejte prostorovou náročnost. Dvě dvouslotové karty dlouhé 27 cm, k tomu čtyři PCI Express napájecí konektory a náročnost na dobré odvětrávání ve skříni (karty jsou na mnoha deskách včetně testovací GA-EX58-UD5 jako sardinky). Výkonem dvě GTX 260 SLI předčí Radeon HD 4870 X2, ale ne zase o tolik (v případě lepšího škálování v Crysis Warhead či zapojení dvou HD 4870 namísto HD 4870 X2 by už mohlo dojít takřka na plichtu). Krom daní výše zmíněných (prostor, chlazení, konektory, deska s SLI) je tu ještě o dost nižší spotřeba HD 4870 X2.
Ač v případě tohoto testu vyšlo SLI jako výkonnostní vítěz a obecně se minimálně díky profilům dá označit za propracovanější řešení, nemůžu ve výsledku udělat jiné doporučení než u CrossFire: u dvou slabých či středně silných karet zvažte raději odprodej a upgrade na jednu highend kartu. SLI (CrossFire, prostě Multi-GPU obecně) stále představuje nejzajímavější řešení tam, kde už v současné generaci grafik nejde jít s výkonem jednočipových karet dále (tedy spojení GTX 275/285 do SLI u Nvidie, Radeonů HD 4890 u ATI/AMD).
Na tomto místě najdete ZIP archiv s podrobnými logy z programu FRAPS, screenshoty z GPU-Z, RivaTuneru (více údajů o teplotě) a obrázky z NVIDIA Control Panelu (konfigurace monitorů s SLI apod.). Ještě mi chvíli potrvá probrat je ale do nějaké přehledné podoby.