MultiGPU na przestrzeni lat i współcześnie.

header_01

Już dość dawno pisałem na temat komputerów multiGPU o ich wadach i zaletach, ale po ostatnich zmianach na rynku komputerów trzeba taki artykuł stworzyć na nowo.

Zacznijmy od początku. Historia multiGPU zaczyna się w 1998 roku, kiedy to firma 3dfx postanowiła wprowadzić technologię SLI (Scan-Line Interleave), gdzie dwa akceleratory Voodoo 2 generowały obraz w trybie przeplotu.

3dfx_voodoo2

Tłumacząc na łatwiejszy język, jedna karta generowała parzyste linie obrazu, a druga nieparzyste. Z racji, że były to akceleratory 3D, potrzebna była także zwykła karta graficzna. Topowy „gamingowy” zestaw z okolic 98 roku widzicie poniżej.

SLI-voodoo-2-1

Polecam każdemu, kto interesuje się sprzętem komputerowym, poczytać trochę na temat firmy 3dfx, która swego czasu była jednym z najbardziej innowacyjnych przedsiębiorstw, pozostawiając w tyle konkurencje.

W 2000 roku kończy się historia firmy 3dfx i za razem jej projektu SLI, kiedy to 3dfx zostało wykupione przez Nvidię. Pozostałością po tym fakcie jest domena www.3dfx.com, która przeniesie nas na główną stronę www.geforce.com

Po tych zmianach, SLI zniknęło na cztery lata, żeby w 2004 roku za sprawą Nvidi odrodzić się na nowo w kartach GeFroce 6xxx., tym razem jako Scalable Link Interface. Nowe SLI od pierwowzoru odróżniało się innym systemem generowania klatki. W zasadzie odróżnia się, gdyż SLI od 2004 roku do dziś specjalnie się nie zmieniło, ale do rzeczy.

Postanowiono podzielić monitor na dwie części, górną i dolną. Linia podziału nie przebiega dokładnie w połowie ekranu, a jest ruchoma i reaguje na to, co dzieje się na ekranie. Dzięki temu można równomiernie rozłożyć obciążenie na obydwie karty.

Tak w 2004 prezentowało się marzenie każdego gracza. Dwie karty GeForce 6800 Ultra pracujące na płycie ASUS A8N-SLI i do kompletu Athlon 64 4000+.

sli-rig1

Ciekawostką jest fakt, że pierwsze płyty główne obsługujące SLI automatycznie nie rozpoznawały, czy użytkownik chce używać kart w trybie SLI czy nie. Trzeba było przekładać specjalny mechaniczny „przełącznik” na płycie, który włączał i wyłączał tryb SLI.

asus-a8n-sli-sli

Jak zapewne wiecie Nvidia to nie jedyna firma produkująca karty graficzne. Na rynku było obecne ATI (Array Technologies Incorporated), które potrafiło dotrzymać kroku Nvidi i również w aspekcie multiGPU nie chciało zostać w tyle. Dlatego w 2005 roku ATI pokazało światu technologię CrossFire, będącą odpowiedzią na SLI.

ATI do sprawy podeszło w nieco inny sposób niż Nvidia i zaproponowało odmienne rozwiązanie. Pewne aspekty łączyły obydwie technologie. Przykładowo – była to dedykowana płyta główna, która pozwalała na uruchomienie takiej konfiguracji, czy dwie karty graficzne w obudowie. Jednak tutaj podobieństwa się kończą.

atixfedition

Pierwsze wersje Crossfire wymagały zakupu dwóch różnych kart graficznych. Układ składał się z karty master i karty slave. Karta master była specjalną kartą dedykowaną Crossfire, posiadała specjalny układ zwany ”Compositing Engine” (silnik kompozycji). Składał on obraz z dwóch kart graficznych w jedną całość.

xilinxchip

Karty ATI w pierwszych wersjach CrossFire łączyło się na zewnątrz obudowy specjalnym kablem DVI. Stąd to dziwne wyjście na śledziu karty, które widać na zdjęciu wyżej. Czyli zupełnie inaczej niż w przypadku Nvidi, gdzie karty były łączone wewnętrznym mostkiem.

crossfire-sli

Jeden koniec kabla podłączało się do wyjścia DVI na jednej z kart, następnie druga wtyczka była podłączona do dedykowanego gniazda w karcie ”CrossFire Edition”. Drugi koniec tej złączki był podłączony do monitora.

installed1

Również w 2005 roku NV postanowiła wprowadzić QuadSLI (nie mylić z 4way SLI), które umożliwiało połączenie w SLI kart z posiadających po dwa układy GPU. Na zdjęciu poniżej mamy przykład takiego zestawu, który składa się z dwóch kart 7900GX2.

00310393-photo-machine-quad-geforce-7950-gx2

Następnym przeskokiem wydajnościowym było wprowadzenie przez ATI chipsetu Xpress 3200, który wspierał dwa sloty PCI-E x16. Wcześniej drugi slot był dużo wolniejszy (na płytach Nforce jak i ATI).

board_diag

Chipset ten wyróżniał się również bardzo niskim zużyciem energii na poziomie 8W, dzięki czemu mógł być chłodzony pasywnie.

board-rear

Następnie przenosimy się do 2007 roku, kiedy to Nvidia zaprezentowała nowe chipsety 780i, 780a i 790i, które zapewniły wsparcie 3-Way SLI, co oznaczało możliwość zamontowania aż trzech kart graficznych. Nieoficjalnie konfiguracje 3-Way SLI wspierał również chipset 680i.

board

W tym samym roku ATI wprowadziło kolejną wersje CrossFire, nazwaną CrossFireX. Nowa wersja pozwoliła na zrezygnowanie z kart graficznych master i slave, wystarczyło zakupić dwie takie samie karty i połączyć je wewnętrznym mostkiem podobnym do tego stosowanego w kartach GeFroce.

ati_2900xt_crossfire

Pierwszymi kartami, które posiadały nową wersje CrossFire były ATI Radeon HD2900XT, które widać na zdjęciu wyżej. Kolejnym krokiem ATI było wprowadzenie chipsetów AMD 790FX, które umożliwiały łączenie kart w tryb 4 Way CrossFire.

big_crossfirex_1

Na zdjęciu wyżej zaprezentowano 4 Way CrossFire oparte na czterech kartach HD3870.

W tym roku również zarysował się pewien trend panujący po dzień dzisiejszy. Mianowicie, uruchomienie konfiguracji CrossFireX jest możliwe na bardzo dużej liczbie płyt głównych i łatwiej wymienić modele, które tej opcji nie posiadają. Nvidia zaś została przy dedykowanych modelach płyt głównych wspierających SLI. Została jeszcze kwestia 4-Way SLI.

4-Way SLI pojawiło się dopiero w 2009 roku, za sprawą szalonej płyty głównej firmy EVGA X58 Classified 4-way SLI, która umożliwiała uruchomienie takiej konfiguracji.

evga-x58-classified-4-way-sli

Dla płyty przygotowano też serię specjalnych kart graficznych. Były to karty EVGA GTX285 Classified.

131

Był to ostatni znaczący skok w rozwoju multiGPU na dłuższy czas. Technologie SLI i CrossFire były wciąż dopracowywane, jednak nie wiązało się to z bardziej spektakularnymi osiągnięciami. Problemy shuteringu czy braku zgodności z najnowszymi produkcjami trwają po dzień dzisiejszy.

Jedyną zmianą, jaka w międzyczasie nastąpiła, była kolejna wersja CrossFire wprowadzona w 2013 roku razem z architekturą GCN 1.1. Tym razem wypuszczona już oficjalnie przez AMD, umożliwiała rezygnację z mostków łączących karty na rzecz połączenia XDMA działającego poprzez porty PCI-E x16 3.0. Komunikacja poprzez XDMA poprawiała również problemy z tzw. mikro-zacięciami. Sam temat ”mikrozacięć” zasługuje na oddzielny artykuł, więc nie będę się tutaj rozwodził nad tym, co to takiego.

dscf6493

W ten sposób docieramy do czasów teraźniejszych i jesteśmy świadkami kolejnej ewolucji multiGPU, która odbywa się bez większego echa. Uważam, że niesłusznie, gdyż zmian jest sporo.

slide1_mid

Zacznijmy od najświeższej informacji, którą podała sama Nvidia. Firma postanowiła praktycznie zrezygnować ze wspierania 4-Way SLI i ogłosiła, że profile 4-Way SLI, będą publikowane tylko dla wybranych gier. Taka decyzja zniesmaczyła dużą część entuzjastów, którzy składali takie maszyny dla samej frajdy posiadania takiego sprzętu.

microsoft-directx-12

Drugą, ważniejszą kwestią jest to, że DirectX 12 samo w sobie wspiera multiGPU nie potrzebując do tego ani CrossFire ani SLI. Dzięki temu pozbywamy się wszelkich skutków ubocznych działania tych technologii. Dla nowego API Microsoftu niema znaczenia nawet to, jakie karty posiadamy w naszej obudowie. Chcemy grać jednocześnie na GTX1060 i Radeonie Rx-470? Nie ma problemu. Będzie to pokazane w dalszej części.

vulkan_500px_june16

Twórcy API Vulkan również pracują nad takim rozwiązaniem. Tutaj trochę zboczę z głównego wątku, aby rzucić wam światło na obecny rozwój gier. Jest to moja subiektywna opinia i chętnie usłyszę wszelkie kontrargumenty w tym temacie. DirectX 12 i multiGPU w opcjach ustawień graficznych gry, a nie w sterownikach?

vlcsnap-2016-10-01-17h42m43s954

Zastanówcie się, widzieliście aby w jakiejś grze była taka opcja dostępna? No właśnie, wprowadzenie jej w grze kosztuje dodatkowy czas podczas produkcji i wymaga dodatkowych testów.

Ostatnimi czasy gry wypuszczane przez duże studia nie zawierają żadnych nowinek, a jednocześnie są słabo zoptymalizowane, ukazywane przedwcześnie i zawierają mnóstwo błędów. Oczywiście nie mówię tutaj o wszystkich produkcjach, ale jest ich procentowo bardzo dużo. Każdy, kto choć trochę interesuje się grami, bez problemu umieści tutaj kilka swoich ulubionych tytułów, które zostały zniszczone przez marketing i księgowych. Dlaczego marketing i księgowi?

Pamiętajcie, że zazwyczaj sami twórcy gier są pasjonatami i robią to z zamiłowania, a nie z konieczności. Wszelkie buble jakie ostatnio widzieliśmy, zazwyczaj powstają przez zbyt krótkie cykle wydawnicze i zbyt duże parcie na ilość, a nie jakość.

Drugim skutkiem ubocznym, takiego podejścia wydawców do produkcji gier jest brak nowinek czy odważniejszych kroków. Spróbujcie odnaleźć w pamięci grę z ostatnich lat, która w jakimś względzie była odważna, wprowadzała znaczącą nowość do świata gier? Nie licząc małych niezależnych producentów, nie wprowadzono nic co by było choć trochę innowacyjne, a jednocześnie ciągnęło za sobą ryzyko, że coś może się nie udać.

Teraz jeżeli świat deweloperów gier funkcjonuje w takiej rzeczywistości, jak tutaj wprowadzić system multiGPU? Dodatkowo wymagający większego wkładu pieniężnego? Jednocześnie należy mieć na uwadze, że taki system multiGPU nie jest jakimś tam wymysłem dla bogaczy kupujących po 4 karty graficzne. Byłoby to przydatne dla wielu graczy. Szczególnie tych nie posiadających zasobnych portfeli. Przecież osoby posiadające komputery z wbudowaną w procesor kartą graficzną, która jest bezużyteczna, można liczyć w tysiące. Przy opcji multiGPU proponowanej przez DirectX 12 czy Vulkan, każda z tych osób mogła by zyskać dodatkowe kilka fps-ów, którymi nikt by nie pogardził.

Jednak jak API Microsoftu poradzi sobie z dwoma kartami? Postanowiłem to sprawdzić i umożliwiła mi to tylko jedna gra – Ashes of the Singularity. Do obudowy postanowiłem wpakować dwie karty graficzne, Asus GTX1060 Strix oraz Sapphire Radeon Rx-470. Dwie karty z kompletnie innych bajek i wydajnościowych i cenowych. Mimo tego DirectX 12 dał sobie z tym radę i pozwolił zyskać dodatkowe FPSy.

Czym jest Ashes of the Singularity? Jest to strategia czasu rzeczywistego znana z ogromnych bitew i setek jednostek walczących na ekranie. Niestety, ma to swoją cenę. Gra niemiłosiernie obciąża komputery.

Specyfikacja testowa:

Procesor: Intel Core i7-4770k
Płyta Główna: AsRock H97M Pro4
Pamięć Ram: 2x8GB Kingston HyperX 1600MHz
Karty Graficzne:Asus GeForce GTX1060 Strix, Sapphire Radeon RX-470
Cooler CPU: BeQuiet Shadow Rock Pro 2
Zasilacz: BeQuiet Dark Power Pro P8 1000W
Obudowa: NZXT. H440

Użycie procesora sięgało nawet 80-90%, gra zajęła 12GB pamięci RAM i ok 8GB pamięci kart graficznych. Dlaczego 8GB skoro GTX1060 ma 6GB, a RX-470 4GB? Odpowiedź jest prosta – podczas pracy z DirectX12 pamięć kart graficznych się sumuje. Samo obciążenie kart wyglądało różnie i zależało od tego, która z nich była odpowiedzialna za wyświetlanie obrazu, a która była kartą wspomagającą. Pobór energii elektrycznej z gniazdka wyniósł ok 500W.

Jak wyglądał benchmark? Postanowiłem nagrać, wykonywanie benchmarka i użyłem do tego osobnego komputera. Jest to przenośny komputer w walizce, który sam skonstruowałem na swoje potrzeby. Oto krótki materiał prezentujący jak to wszystko wyglądało (polecam obejrzeć benchmark z tej gry, aby zobaczyć rozmiar bitew, jakie się w tej grze odbywają):

A tak prezentują się wyniki benchmarków. Na wykresie widzicie średnią liczbę klatek uzyskanych w teście.

fpsy

Najlepszy wynik osiągnęła kombinacja, w której RX-470 był główną kartą wyświetlającą obraz, a GTX1060 był kartą wspomagającą. Nie jest to większą niespodzianką. Niestety, ale obecnie tylko Ashes of the Singularity posiada taką opcje, a jednocześnie produkcja ta wymaga od karty wykonywania obliczeń asynchronicznych, z którymi karty Nvidii nie radzą sobie najlepiej. Stąd taki, a nie inny wynik testów.

Oczywiście chciałbym wykonać więcej podobnych testów w różnych grach, ale sami wiecie czemu nie ma obecnie takiej opcji.

Mogę również potwierdzić fakt, że takie rozwiązanie w kwestii multiGPU sprawdza się zdecydowanie lepiej niż klasycznie CrossFireX czy SLI. Nie zauważyłem żadnych dziwnych przycięć czy nieprzyjemnych efektów wizualnych, z którymi producenci zmagali się od pierwszych takich konfiguracji. Plusem jest również przyrost wydajności, który jest dość znaczny.

dscf7298

Na tym punkcie czas zakończyć ten artykuł, a jak będzie wyglądać przyszłość? Tego nie wie nikt. Ja mam tylko nadzieje, że PC-ty jeszcze pożyją i my entuzjaści będziemy mogli dalej składać swoje ulubione konfiguracje, ekscytować się nowymi premierami, marzyć o zestawach, na które nigdy nie będzie nas stać.

Przecież komputery można zmieniać jak smartfony czy konsole, można wszystko wlutować w jedną płytkę PCB. Jednak wtedy zniknie cała ta otoczka, pasjonaci i wszystkie te szalone konfiguracje, które może i są nielogiczne, ale za to mają w sobie ślad pasji ich twórcy, którego ani smartfony, ani tablety, ani konsole, ani gotowe zestawy, nigdy mieć nie będą.

pyryavatar

PoznanskaPyra

Komputerowy maniak, entuzjasta, kreator zwariowanych projektów. Znany ze swojego nietypowego podejścia do sprzętu, ryzykownych modyfikacji czy kompletnego ignorowania standardów i wdrażania własnych, często nietypowych. Ingerowanie lutownicą w podzespoły komputerowe nie jest dla niego niczym nowym, a części rzeczy w ten sposób odkrytych, nie może wam opisać, bo skończył by z pozwem od któregoś z wielkich producentów. Taki właśnie jest „PoznanskaPyra”. YouTube Facebook

Pod tym wpisem można się reklamować. Jeżeli uważasz, że stworzyłeś bardzo dobry film związany z tematem wpisu, wklej do niego link w komentarzu. Najlepsze filmy zostaną tutaj na zawsze. Zapraszamy wszystkich do komentowania naszych artykułów. Czekamy na Wasze opinie. Do dyspozycji naszych czytelników oddajemy również forum dyskusyjne... serdecznie zapraszamy tam do rozbudowanych dyskusji i kooperacji społeczności brodaczy!