Anslut till Senaste Tekniska Nyheter, Bloggar, Recensioner

Fyra Multi-GPU Z77-kort från $280-$350 – PLX PEX 8747 med Gigabyte, ASRock, ECS och EVGA

Med endast sexton PCIe 3.0-banor tillgängliga på ett Z77-moderkort parat med en Ivy Bridge-processor, när vi kommer till tre- eller fyrvägs-GPU-lösningar längtar dessa GPU:er efter att få mer bandbredd. Z77-specifikationen begränsar oss till tre GPU:er ändå, på x8/x4/x4. För en viss extra kostnad på moderkortet kan vi lägga till ett PLX PEX 8747-chip som effektivt ökar antalet PCIe 3.0-banor, vilket ger 32 PCIe 3.0-banor totalt. Idag diskuterar vi denna teknik och tittar på fyra moderkort som säljs idag som använder detta PLX-chip – Gigabyte G1.Sniper 3, ASRock Z77 Extreme9, ECS Z77H2-AX och EVGA Z77 FTW.

Multi-GPU på Z77

Att sikta på användare för 3-vägs och 4-vägs GPU-inställningar siktar på en mycket nischad undersektion av en entusiastpublik. Här pekar vi ut de som har hårda pengar för att skapa ett mycket trevligt system, som kan driva flera stora skärmar med hög upplösning för snabba och detaljerade spel. Många av dessa inställningar är skräddarsydda, speciellt designade i modifierade fall, och ett stort antal använder vattenkylning för att komma runt genereringen av värme. Låt oss inte glömma strömförbrukningen, med flera GPU-inställningar som kräver betydande strömförsörjning eller till och med en lösning med dubbla strömförsörjningar. Det blir ännu värre om allt är överklockat också.

Dessa användare håller sig ofta uppdaterade med den senaste och bästa hårdvaran. Ingen processor, inget grafikkort och ingen chipset är för nytt för dem. Om någon av våra entusiaster här fick frågan om vilken plattform som skulle vara bäst för en multi-GPU-setup, skulle vi svara med X79 och Sandy Bridge-E, om pengar inte skulle vara något objekt. Även för användare med hög genomströmning, såsom vetenskapliga simulatorer eller videoredigering – Sandy Bridge-E håller all prestanda. Det finns dock en sak som Sandy Bridge-E saknar – PCIe-bandbredd.

Med majoriteten av X79 fast i PCIe 2.0-land börjar vi få flaskhalsar när vi överför data mellan minne och GPU. Vår gräns är 8 GB/s för en PCIe 2.0-port med hela sexton banor. Om vi ​​hoppar in i Z77 och Ivy Bridge har vi PCIe 3.0. För en PCIe 3.0-port med hela sexton banor har vi dubbla bandbredden på 16 GB/s.

Det andra problemet är banor – X79 och SBE har 40 PCIe 2.0-banor att distribuera, vilket ger x16/x8/x8/x8 i ett fyrvägs-GPU-scenario. Även med dubbla bandbredden per körfält för PCIe 3.0, kan Z77 och Ivy Bridge bara spela med sexton banor totalt, som visas av chipsetdiagrammet:

Z77-specifikationen säger att dessa banor kan delas på något av följande sätt:

Jämförelsediagram för PCIe-layout
Konfiguration GPU:er GPU 1 GPU 2 GPU 3 GPU 4
1

1

16x PCIe 3.0

2

2

8x PCIe 3.0

8x PCIe 3.0

3

2

16x PCIe 3.0

4x PCIe 2.0

4

3

8x PCIe 3.0

4x PCIe 3.0

4x PCIe 3.0

5

3

8x PCIe 3.0

8x PCIe 3.0

4x PCIe 2.0

6

4

8x PCIe 3.0

4x PCIe 3.0

4x PCIe 3.0

4x PCIe 2.0

För många av dessa inställningar kan moderkortstillverkare också välja att styra fyra av PCIe 2.0-banorna från styrkretsen för att även hjälpa till med CrossFire-scenarier (SLI är inte certifierat i den här konfigurationen). Nackdelen med detta kommer från den begränsade bandbredden för PCIe 2.0-banorna, som har hälften av bandbredden av PCIe 3.0-banorna, men det finns också en extra latens för att navigera data genom chipsetet snarare än över PCIe-bussen.

För mini-ITX-lösningar kommer vi att se scenariot med en GPU. För många microATX-lösningar kommer ett av scenarierna med dubbla GPU att dominera. I fullt ATX-läge har tillverkarna alla de konfigurationer som anges ovan att välja mellan. Lyckligtvis har vi här på AnandTech granskat majoriteten av konfigurationerna (1, 2, 4 och 5) i tabellen ovan för att ge jämförelsepunkter.

Tillbaka under X58 och P55, när PCIe 2.0 dominerade landskapet, innehöll vissa moderkort ett speciellt chip kallat NF200. Detta var en PCIe-switch som gjorde det möjligt för moderkortet att fördubbla sin kvot av PCIe 2.0-banor från 16 till 32, som sedan kunde ordnas på lämpligt sätt. Nackdelarna med att använda det här chippet var att det ökade kostnaden för kortet, det drog mer kraft och det blev lite bearbetningskostnader för att använda det. Men om det tillät full bandbredd till en andra GPU och ökade FPS med 40 %, så var ett litet ~1-3 % underskott på toppen inte orolig.

Snabbspola framåt några år och vi har ytterligare ett chip på marknaden, denna gång gör vi exakt samma sak med PCIe 3.0-banor. Detta chip är PEX 8747, designat av företaget PLX (du kan se det kallat en PLX PEX 8747 eller en PLX 8747). Den erbjuder PCI Express-växlingskapacitet, vilket ger moderkortstillverkarna 32 PCIe 3.0-banor att leka med. Detta tillåter följande kombinationer:

Jämförelsediagram för PCIe-layout
Konfiguration GPU:er PEX 8747 GPU 1 GPU 2 GPU 3 GPU 4
7

1

Y

16x PCIe 3.0

8

2

Y

16x PCIe 3.0

16x PCIe 3.0

9

3

Y

16x PCIe 3.0

16x PCIe 3.0

4x PCIe 2.0

10

3

Y

16x PCIe 3.0

8x PCIe 3.0

8x PCIe 3.0

11

4

Y

16x PCIe 3.0

8x PCIe 3.0

8x PCIe 3.0

4x PCIe 2.0
12

4

Y

8x PCIe 3.0

8x PCIe 3.0

8x PCIe 3.0

8x PCIe 3.0

I verkligheten kan konfiguration 8 väljas på kort i mikro-ATX-storlek, och konfigurationer 10 och 12 kommer att tillämpas på ATX-kort. Resten är sannolikt inte på en produkt på marknaden.

Nu har vi en direkt konkurrent till de 40 PCIe 2.0-banorna i X79, genom att vi har 32 PCIe 3.0-banor – motsvarande 64 PCIe 2.0-banor (eller x16/x16/x16/x16 på PCIe 2.0).

Hur fungerar en PCI Express-switch (som PEX 8747).

Den viktigaste förvirringen kring enheter som PEX 8747 är att oavsett hur många banor det finns att se av CPU:n, har CPU:n fortfarande bara 16 banor för dataresor. Data begränsas alltid av denna flaskhals, så hur får vi fler körfält? Jag ser många inlägg på forum som säger “ja, det multiplicerar det med två”, men det är inte ett korrekt svar.

När man söker efter data på PEX 8747, eller NF200, är ​​det mycket forumprat och inte mycket teknisk information. De PLX webbplatsen är värd för viss information på hög nivå, och teknisk data på låg nivå är under NDA. Det vi skriver här är alltså från det jag har diskuterat med tekniskt sinnade kollegor och representerar potentiellt inte de verkliga handlingarna hos PEX 8747.

Hjärtat i PLX-chippet är hur det hanterar data mellan CPU:n och PCIe-platserna. Den gör detta genom multiplexering, eller konsten att hantera flera signaler som vill resa genom en punkt. Vi hanterar redan multiplexering på vissa moderkort med avseende på strömleveransen. Här är några grundläggande exempel på multiplexering:

Signalmultiplexering: Kombinera flera analoga signaler till en enda signal. Denna signal kan sedan optimeras för höghastighetskörning. Den enda signalen de-multiplexeras (de-muxed) i den andra änden för att extrahera originaldata. Detta utförs i stor skala med telekommunikation.

Tidsmultiplexering: Istället för att installera flera snabbkopplingar mellan två punkter som har flera användare i varje ände, installeras en linje och denna linje växlar mellan vart och ett av användarparen så att signalen inte oavsiktligt störs. Denna gif från Wikipedia hjälper till att beskriva detta scenario:

Så vad gör PLX-chippet på ett moderkort? Vårt bästa resonemang är att den fungerar som en datamultiplexerare med en buffert som organiserar en först in, först ut (FIFO) datapolicy för de anslutna GPU:erna. Låt oss ta det enklaste fallet, där PLX-chippet driver två GPU:er, båda på ‘x16’. GPU:erna är båda anslutna till 16 banor vardera till PLX-chippet.

PLX-chippet, i hårdvara, tillåter CPU och minne att komma åt de fysiska adresserna för båda GPU:erna. Data skickas till den första grafikprocessorn endast med bandbredden på 16 körfält. PLX-chippet känner igen detta och omdirigerar all data till den första GPU:n. CPU:n skickar sedan data från minnet till den andra GPU:n, och PLX ändrar alla banor för att fungera med den andra GPU:n.

Låt oss nu ta situationen där data behövs för att skickas till varje GPU asynkront (eller samtidigt). CPU:n kan bara skicka denna data till PLX:n med bandbredden på 16 banor, kanske antingen viktad till master/första GPU:n eller lika uppdelad (eller proportionellt hur PLX berättar för CPU:n på hårdvarunivå). PLX-chippet kommer sedan att avleda den korrekta andelen banor till varje GPU. Om en GPU kräver mindre bandbredd, omdirigeras fler banor till den andra GPU:n.

Detta betyder i slutändan att i scenariot med två kort, vid maximal genomströmning, är vi fortfarande begränsade till x8/x8. Men i situationen när endast en GPU behöver data, kan den tilldela alla 16 banor till den GPU:n. Om data färdas uppströms från GPU till CPU, kan PLX fylla sin buffert med full x16 hastighet från varje GPU, och samtidigt skicka så mycket av datan upp till CPU:n i en kontinuerlig ström vid x16, snarare än att byta mellan grafikprocessorerna vilket kan lägga till latens.

Detta är fördelaktigt – utan ett PLX-chip har GPU:erna ett fast körfältsantal som endast modifieras av en enkel switch när andra kort läggs till. Detta innebär i en normal x8/x8-inställning att om data behövs av en GPU, är bandbredden begränsad till de åtta banorna som högst.

Med all denna dataöverföring (och om data skulle gå åt andra hållet till minnet så måste PLX-chippet ha en buffert för att förhindra dataförlust) introducerar PEX en latens i processen. Detta är en kombination av den extra routingen och PEX:s åtgärd för att justera “on-the-fly” efter behov. Enligt PLX-dokumentationen är detta i området 100 nanosekunder och kombineras med stort paketminne.

Tillbaka i NF200:s dagar upplevde vi en 1-3 % omkostnad i jämförelser av likadana liknar i många av våra speltester. PEX 8747-chippet försöker utlova en minskning av denna omkostnad, särskilt eftersom det bara kommer till spel under extrema omständigheter. Situationen är mer komplex under olika omständigheter (x16/x8/x8).

Ta till exempel ett av korten vi kommer att granska – Gigabyte G1.Sniper 3. Gigabyte på det här kortet väljer att dirigera alla de 16 PCIe 3.0-banorna från CPU:n till PLX PEX 8747-chippet och distribuera dem därefter:

Enbart från detta diagram kan vi se att PEX 8747-chippet dirigerar 16 PCIe 3.0-banor till en PCIe-plats och 16 till en annan plats. Skulle kort läggas in i PCIe-platserna under dessa primära kort, kommer de sexton banorna att delas upp av switchen i x8/x8 i enlighet därmed. PEX 8747 bestämmer sedan hur bandbredden ska fördelas givet dessa körfältsalternativ och prioriterade data genom multiplexering och FIFO-bufferten som finns på chipet. Nackdelen med detta kommer med en enda GPU-inställning, där den extra latens och routing som orsakas av PLX-chippet kan minska prestanda för enstaka kort.

Ett annat alternativ med lane routing är att dela upp banorna från CPU:n. Som vi kommer att se på EVGA Z77 FTW i en senare recension, kan åtta PCIe 3.0-banor dirigeras till den första PCIe-platsen, och de andra åtta PCIe 3.0-banorna kan skickas till PLX PEX 8747-chippet. Den här lösningen använder 32 lane-utgången för att fylla andra PCIe-platser på följande sätt:

Stort tack till EVGA för diagrammet

I den här uppställningen tillhandahåller processorn åtta PCIe 3.0-banor till den första PCIe-platsen och de andra åtta banorna till en multiplexer som antingen dirigerar banorna till den första PCIe eller PEX 8747-chippet. De åtta uppströmsbanorna i PLX-chippet är organiserade i 32 nedströmsbanor, som skickas 16 vardera till den andra PCIe x16-platsen och den fjärde PCIe x16-platsen. Dessa 16 banor delas med luckan direkt nedanför.

Vad detta betyder är att de andra, tredje och fjärde PCIe-banorna, även om de är klassade “x16”, begränsas av de åtta banorna uppströms från PLX. Medan chippet kan hantera flera ingångar och utgångar, kan den där åtta körfältsbegränsningen till CPU:n bli ett problem. EVGA berättar för oss att deras konfiguration ger bättre prestanda för enkel och dubbel GPU än andra tillverkare. Den mesta GPU-kommunikationen sker mellan GPU:er genom SLI-fingrar som inte påverkas av de 8 banorna uppströms, och PLX-chippet är smart nog att stänga av delar som det inte behöver beroende på konfigurationen, vilket sparar ström.

Detta möjliggör följande konfigurationer:

Jämförelsediagram för PCIe-layout
Konfiguration GPU:er PEX 8747 GPU 1 GPU 2 GPU 3 GPU 4
13

1

Y

16x
8x från CPU
8x via MUX

14

2

Y

8x från CPU

16x från PLX

15

2

Y

16x från PLX

16x från PLX

16

3

Y

8x från CPU

16x från PLX

16x från PLX

17

4

Y

8x från CPU

16x från PLX

8x från PLX

8x från PLX

Skillnaderna mellan konfigurationerna 14 och 15 bör förklaras. Medan konfiguration 15 har totalt 16 banor per GPU i genomsnitt, om vi hänvisar tillbaka till diagrammet ovan, är dessa GPU:er begränsade till CPU:n av de 8 banorna uppströms från PLX. Genom att placera GPU:erna i konfiguration 14, minimerar vi latensen till CPU:n för den första GPU:n samtidigt som vi ger varje GPU maximalt 8 banor vardera direkt till CPU:n (även om de går via PLX för den andra GPU).

Ja, att använda ett PLX PEX 8747-chip gör det mycket förvirrande att förstå hur banorna fungerar på ett moderkort. Dessa moderkort kan inte längre representera vad som händer genom att citera elektriska körfältsanslutningar. Men tyvärr, det är det enda sättet att rapportera dem i marknadsföring och PR.

Om en tillverkare verkligen ville tänja på gränserna kunde de lägga till flera PEX 8747-chips till moderkortet. Vi kommer att se detta på ASRock X79 Extreme11 i en framtida recension, eftersom de tar 32 banor från Sandy Bridge-E GPU och använder PLX-chippet för att producera 64 banor, vilket ger en topp på x16/x16/x16/x16 bandbredd. (De övriga åtta banorna verkar vara riktade till ett LSI SAS RAID-chip – vi kommer att undersöka detta när vi granskar moderkortet.)

Men vidare till moderkortsrecensionerna – först ut är Gigabyte G1.Sniper 3.