GeForce GTX 680 - najnowsze karty Nvidii w akcji

Do naszego laboratorium trafiła najnowsza karta graficzna Nvidii, charakteryzująca się nową architekturą Kepler. Sprawdziliśmy, czy zastosowane w GeForce GTX 680 rozwiązania pozwalają mu skutecznie konkurować z konkurencją spod znaku AMD w zakresie wydajności obliczeń oraz czy 28-nanometrowy proces technologiczny rzeczywiście spowodował większą oszczędność energii układu, tak jak zapowiadał producent.

Architektura

Do opracowania GeForce’a GTX 680 wykorzystano architekturę o nazwie Kepler - chociaż jest to rozwiązanie nowe, można w nim znaleźć podobieństwa do wykorzystywanej w seriach GTX 400 oraz GTX 500 architektury Fermi. Jedno z podobieństw polega na tym, że układ graficzny może być tworzony z klastrów przetwarzania grafiki (GPC - Graphics Processing Clusters) oraz kontrolerów pamięci. W przypadku GeForce’a GTX 680 mamy po cztery klastry przetwarzania grafiki oraz kontrolery pamięci o szerokości 64-bit każdy. Klaster GPC składa się z dwóch multiprocesorów strumieniowych (SM - Streaming Multiprocessors), w nomenklaturze Nvidii określanych mianem procesorów CUDA. Na każdy z nich przypadają 192 procesory cieniujące (SP - Shader Processors). Wcześniej w każdym z nich były tylko 32 takie jednostki.

Zwiększenie liczby układów SP w ramach multiprocesora strumieniowego nie sprawiło, że wydajność pojedynczego klastra wzrośnie sześciokrotnie. Większa fragmentacja przyczyniła się za to do uzyskania dwukrotnie większej wydajności energetycznej karty.

W sumie w nowym GeForce zastosowano osiem procesorów CUDA, co okazało się właściwym posunięciem. Opóźnienia wewnątrz układu  będą zauważalnie mniejsze niż w przypadku GeForce’a GTX580, który składał się z szesnastu jednostek SM. Każdy z multiprocesorów jest większy niż w wypadku kart z architekturą Fermi, a ich wydajność może przewyższać starsze odpowiedniki nawet czterokrotnie.

Porównanie całego układu GTX 680 z kartami starszej generacji nie wypada tak spektakularnie, ale nadal jest dla niego korzystne - w niektórych zastosowaniach, jak np. teksturowanie, SFU (Special Function Unit, jednostka funkcji specjalnych) , FMA32 (Fused Multiply-Add, obliczenia pojedynczej precyzji) ,  teoretycznie jest on nawet dwa razy bardziej wydajny (chociaż bywa i tak, że różnic w osiągach nie ma żadnych).

CUDA w karcie

Każdy multiprocesor składa się z kilku części. Pierwsza to silnik PolyMorph 2.0, odpowiedzialny za geometrię obrazu oraz teselację. Jego pierwsza wersja została zastosowana już w architekturze Fermi. Następna składowa to pamięć cache instrukcji oraz czterech tzw. zarządców osnowy (warp schedulers). Każda jednostka tego typu może wysłać dwie instrukcje z każdym taktem zegara. Kolejne elementy budowy to plik rejestru, jednostki cieniujące, LD/ST oraz SFU, pamięć podręczna i jednostki teksturujące. Całość oczywiście jest nastawiona na maksymalną energooszczędność. Widać to po jednostce zarządzającej Fermi i Keplera. W pierwszym wypadku składa się ona z jednostki kolejkującej operacje (Multi-port Post-decode Queue), tablicy rejestru (Multi-Port Register Scoreboard) sprawdzającej wszystkie rejestry z niedokończonymi operacjami oraz jednostki sprawdzającej zależności (Dependency Check), która analizuje użycie rejestru  przez instrukcje osnów i dzięki temu ocenia je pod względem trudności w przetworzeniu.  W Keplerze wszystkie te jednostki zostały zastąpione jednym prostszym elementem. Było to możliwe, ponieważ czas przygotowania instrukcji do przetworzenia jest przewidywalny, z czego wcześniej nie zdawali sobie sprawy inżynierowie z Santa Clara. Wynika to z faktu, że opóźnienia potoku (komunikacji międzyprocesowej) są wartościami stałymi. Jednostka zarządzająca wykorzystuje tę informację i określa ją jako składową instrukcji. W ten sposób kompilator zastąpił pracę kilku jednostek.

Kolejna zmiana to zupełnie nowy potok wykonawczy procesora. Zrezygnowano z autonomicznego zegara jednostek cieniowania, który został wprowadzony przy okazji premiery układów G80. Dzięki niemu możliwe było uzyskanie bardzo wysokiej wydajności przy małej liczbie jednostek. Ich zastosowanie  było okupione użyciem dwukrotnie większej liczby faz potoku. Dwukrotnie szybszy zegar i dwa razy większe zaangażowanie faz daje cztery razy większe zapotrzebowanie na energię. Nvidia uznała, że oprócz szybkości ważna też jest wydajność energetyczna. Zastosowała zatem więcej jednostek, które dzięki użyciu tylko jednej fazy zużywają dwa razy mniej energii niż w architekturze Fermi.

Warto wspomnieć o kontrolerze pamięci, który również doczekał się reorganizacji. Inżynierowie Nvidii zmienili projekt obwodów i ścieżek, poprawili również integralność sygnałową. Niestety nie mamy dokładniejszych danych na ten temat. Zdziwiło nas zastosowanie kontrolerów pamięci o łącznej szerokości 256 bitów - w Fermi było to przecież 384 bity. Jednak przeprojektowanie kontrolera pamięci umożliwiło uzyskanie częstotliwości taktowania zegara pamięci na poziomie 1500 MHz (6000 MT/s efektywnie).

Zabiegi nie sprawiły, że GTX 680 osiągnął przepustowość Radeona HD 7970, ale pozwoliły mu  zachować poziom znany z modelu GTX 580 (Radeon HD 7970 ma 384-bitową szynę i równie imponujące zegary pamięci). Dodatkowo każdy kontroler ma po 128 kBpamięci cache drugiego poziomu oraz po osiem jednostek końcowego renderingu (ROP).

GPU Boost

Nvidia postanowiła zastosować w nowym GeForce rozwiązanie bardzo podobne do technologii Turbo Boost znanej z procesorów Intel Core (architektura Sandy Bridge i Ivy Bridge). Tworząc GTX 680 wzięto  pod uwagę, że w większości zastosowań karta nie wykorzystuje pełnego potencjału. Dlatego stworzono dodatkowe jednostki sprzętowe i programowe, które monitorują użycie układu graficznego i dopasowują  do niego taktowanie układu.

Typowe zapotrzebowanie na prąd GeForce’a GTX 680 wynosi 170 W. Jest to wartość, która pozwoli utrzymać temperaturę oraz głośność na odpowiednim poziomie. Częstotliwość zegara rdzenia przy takim użyciu karty wynosi 1006 MHz. Jest to najniższe możliwe taktowanie obciążonej karty, gwarantowane dla każdego rodzaju pracy.

Boost Clock, czyli średnią wartość zegara w aplikacjach, które obciążają kartę, ale nie wykorzystują całego zapasu TDP. Wynosi ona około 1058MHz. Jednak dopóki karta będzie obciążona, a  pobór mocy nie zostanie przekroczony, będziemy mogli zauważyć zwiększanie się szybkości zegara. Może on wynieść nawet 1100MHz, czyli 10% więcej niż zegar bazowy. Różnica ta na pewno będzie zauważalna.

Technologia GPU Boost jest kompatybilna z programami do podkręcania, a najlepiej współpracuje z narzędziem EVGA Precision X. Pozwala ono zmienić nam maksymalną moc i wartość offset zegara rdzenia graficznego., w ten sposób przyspieszając kartę.

Adaptacyjna synchronizacja pionowa

Zalety korzystania z synchronizacji poziomej są niepodważalne. Jeżeli dysponujemy odpowiednio dobrym sprzętem, obraz na ekranie jest wyświetlany z prędkością 60 klatek na sekundę. Jest to wartość zsynchronizowana z wartością odświeżania monitora, która wynosi 60Hz. Przy odpowiednio wydajnym sprzęcie mamy do czynienia z sytuacją idealną -  obraz jest odpowiednio płynny, nie sprawia żadnych problemów, a moc karty nie marnuje się. Jednak jeśli sprzęt jest za słaby, by wyświetlić obraz z taką wydajnością, liczba klatek w sekundzie spadała do 30, 20 lub 15 Hz (wartości, przez które można podzielić 60). Granica płynności to 25 klatek na sekundę, więc funkcja ta negatywnie wpływała na wyświetlanie obrazu na zbyt słabych maszynach. Z kolei brak synchronizacji mógł powodować tearing, czyli próbę wyświetlenia kilku klatek obrazu w jednym cyklu pracy monitora. Skutkowało obniżeniem jakości obrazu i występowaniem artefaktów, czyli przekłamań w obrazie. Sytuacja ta miała oczywiście miejsce głównie w przypadku wydajnych komputerów, tj. generujących więcej niż 60 klatek obrazu na sekundę w danej grze lub aplikacji.

NVIDIA postanowiła zaprezentować adaptacyjną synchronizację pionową. Od klasycznych rozwiązań różni się one drobnymi, ale odczuwalnymi zmianami. Jeżeli posiadamy wystarczająco wydajny komputer, obraz jest wyświetlany z zadaną wartością synchronizacji (przyjmijmy 60 klatek na sekundę). Jeśli jednak komputer nie będzie mógł zapewnić odpowiedniej płynności, synchronizacja wyłączy się, zapobiegając zbyt dużemu spadkowi wydajności. Jeśli wiemy, że nasz komputer nie wyświetli obrazu z prędkością 60 klatek na sekundę, będziemy mogli przełączyć się na tryb Half Refresh Rate, który ograniczy płynność do 30 klatek na sekundę. Wątpię jednak w przydatność tej funkcji, zwłaszcza że istnieją gry, które wydają się płynne dopiero od 35-40 klatek na sekundę.

Tryby wygładzania krawędzi

NVIDIA postanowiła zaprezentować dwa nowe tryby wygładzania krawędzi: FXAA oraz TXAA. Znacznie różnią się one między sobą, ale obie są godne uwagi.

FXAA to filtr obrazu nakładany w fazie post processing, czyli nakładany razem chociażby z rozmyciem. Nie eliminuje on całkiem krawędzi, jego jakość można porównać do klasycznego czterokrotnego wygładzania krawędzi (MSAA). Jednak dzięki użyciu do antyaliasingu jednostek cieniowania, zapewnia dwukrotnie lepszą wydajność.

TXAA to połączenie wspomagania sprzętowego i programowego. Jest on dostępny w dwóch wersjach:  TXAA 1 i 2. Pierwsza powinna zapewnić jakość obrazu porównywalną z trybem 8× MSAA przy wydajności gry z włączonym 2× MSAA. Z kolei TXAA 2 ma wygładzać krawędzie lepiej od 8× MSAA przy wydajności trybu 4× MSAA.

Gdy tylko pojawią się gry wykorzystujące oba tryby wygładzania krawędzi, przetestujemy  działanie tych funkcji.

3D Vision Surround

GTX 680 może obsłużyć nawet cztery monitory bez konieczności użycia kilku kart graficznych. Problemem nie będzie też uruchomienie jeszcze niedostępnych w sklepach monitorów 4K.  Co więcej, nie jest potrzebny do tego żaden adapter, gdyż karta ma cztery wyjścia obrazu. Mamy tu dwa złącza DVI dual link, HDMI oraz DisplayPort - kompletny zestaw wyjść.

NVENC

GeForce GTX680 i inne karty oparte o architekturę Kepler są standardowo wyposażone w specjalną jednostkę - koder H.264. Oznacza to, że do kodowania materiału wideo nie trzeba angażować rdzeni CUDA. Zaowocowało to bardzo dużą oszczędnością energii i większą wydajnością w tych zastosowaniach.

Obietnice przełożyły się na faktyczne wyniki. Okazało się, że programy są w stanie wykorzystać nowe możliwości GeForce’a GTX 680. Warto mieć na uwadze, że jest to najnowsza karta na rynku, a producenci dopiero uczą się ją wykorzystywać. Podejrzewamy zatem, że jej wydajność jeszcze wzrośnie za jakiś czas.

PCI-E 3.0

GeForce GTX 680 wspiera interfejs PCI-Express 3.0, nie jest jednak akceleratorem na tyle mocnym, by w pełni korzystać z tej technologii. Jest to standard zrobiony z myślą o kartach graficznych przyszłości. Jesteśmy przekonani, że PCI-E 2.0 wystarczy do uruchamiania nowych konstrukcji co najmniej przez trzy lata. Nie ma więc sensu póki co wymieniać płyty głównej specjalnie z myślą o tej funkcjonalności.

Budowa karty

Do testów udało się nam otrzymać kartę Asus GeForce GTX 680 2GB. Jest to model referencyjny, niemal identyczny z promowanym bezpośrednio przez Nvidię. Jedyna widoczna różnica to logo Asusa umieszczone na grzbiecie obudowy. Karta została wyposażona w czarną, plastikową obudowę z zielonym napisem GeForce GTX na boku. Jest to typowy wygląd kart Nvidii, który znamy od kilku lat. Wspomniana obudowa zakrywa całą konstrukcję, więc nie widać radiatora. Jedyny widoczny element chłodzenia to znajdujący się z tyłu karty wentylator o średnicy wynoszącej niewiele ponad 60 mm. Gorące powietrze jest wywiewane z karty przez otwory znajdujące się w śledziu.

Akcelerator graficzny jest zasilany przez dwa gniazda PCI-E 6-pin. To miłe zaskoczenie, zazwyczaj wymagające konstrukcje wymagały użycia gniazda 6-pin i co najmniej jednego gniazda 8-pin, które jest w stanie pobrać jeszcze więcej energii elektrycznej.

Karta jest długa, ale nie ogromna. Jej długość wynosi 26 cm i przed jej kupnem warto sprawdzić, czy zmieści się w naszej obudowie. Można to zrobić poprzez zmierzenie odległości od końca obudowy do koszyka dysków twardych. Właśnie w tej luce należy umieścić kartę.

Wydajność

W testach syntetycznych 3DMark 2011 Asus GeForce GTX680 przegrał tylko z kartami dwurdzeniowymi takimi jak GeForce GTX590 oraz Radeon HD 6990. Konstrukcje te mają wysoką wydajność teoretyczną, ale bardzo często źle radzą sobie w grach. Wieloprocesorowe karty są produkowane od wielu lat, lecz nadal nie udało się wyeliminować wszystkich związanych z nimi problemów.

W testach teselacji GeForce GTX680 pokonuje Radeona HD 7970, swojego głównego rywala. Zależnie od użytego programu, otrzymujemy różne rezultaty. W przypadku najpopularniejszego Heaven’s Benchmark różnica jest minimalna na korzyść Nvidii, jednak po uruchomieniu nastawionych tylko na teselację programów Stone Giant bądź TessMark jej przewaga znacznie rośnie.

W grach Nvidia GeForce GTX680 charakteryzuje się wydajnością lepszą od Radeona HD 7970 3GB. Wyprzedza również konstrukcje wieloprocesorowe. Oznacza to, że GeForce GTX680 jest obecnie najwydajniejszą kartą graficzną dostępną na rynku.

Temperatura pracy, głośność, pobór mocy

Maksymalna temperatura pracy GeForce’a GTX680 to 83 stopnie Celsjusza. Taki wynik uzyskaliśmy po godzinnym wygrzewaniu akceleratora w programie FurMark. Można go uznać za wysoki, jednak w przypadku najwydajniejszych kart jest on raczej standardowy.

Asus GeForce GTX680 w warunkach spoczynku jest niesłyszalny, Podczas grania sytuacja ta nie zmienia się. Jesteśmy naprawdę miło zaskoczeni wysoką kulturą pracy tej karty graficznej.

Nvidia tworząc układ Kepler przede wszystkim nastawiła się na ograniczanie zużywanej energii i już na pierwszu rzut oka widać skutki tego działania. W stanie spoczynku cała platforma wyposażona w kartę GeForce GTX680 ma pobór na poziomie 75W, jest to wynik zbliżony do rezultatu Radeona HD 7970 (zależnie od modelu 70-75W). Po obciążeniu karty grą Wiedźmin 2 na liczniku watomierza możemy zobaczyć 340W. Wynik ten uznajemy za satysfakcjonujący - Radeon HD 7970 w tych samych warunkach pobierał 320W, więc niewiele mniej. Dla porównania, stare GeForce’y GTX580 konsumowały w spoczynku 90W, a podczas obciążenia 380W.

Podkręcanie

W związku z zastosowaniem trybu GPU Bosot, podkręcanie nowego GeForce'a jest nieco utrudnione, przynajmniej jeśli używamy zalecanego narzędzia Evga Precision X. Pozwala ono na zwiększenie maksymalnej mocy karty oraz podwyższenie napięcia oraz zegara taktującego. Jeśli jednak nie chcemy zwiększać napięcia oraz maksymalnego poboru energii (i tym samym zmniejszyć niemal do zera ryzyko uszkodzenia karty), polecamy skorzystać z narzędzia Asus GPU Tweak. Możemy w nim ustawić zegar rdzenia już po zastosowaniu funkcji GPU Boost. Zwykłe taktowanie pracy jest mniejsze od niego o około 50MHz. Podkręcanie pamięci nie zmieniło się nawet o jotę. Nasza procedura nie przewiduje zmiany napięcia oraz poboru energii elektrycznej. Na standardowych ustawieniach tych parametrów uzyskaliśmy taktowanie rdzenia na poziomie 1209MHz (GPU Boost) oraz taktowanie pamięci równe 1743MHz (efektywnie 6972 MT/s). Oto jak wyniki podkręconego GeForce'a prezentują się na tle również podrasowanego Radeona HD 7970 - głównego konkurenta testowanej dziś konstrukcji.

Jak widać, wydajność karty Nvidii rośnie o około 10% i okazuje się ona lepsza od pokręconego akceleratora AMD.

Wnioski

GeForce GTX680 jest obecnie najlepszą kartą graficzną. Dzięki licznym usprawnieniom w architekturze, akceleratory korzystające z układu Kepler cechują się wydajnością większą niż w przypadku GeForce’a GTX580 oraz Radeona HD 7970. Ważne jest też, że przy jej produkcji wzięte pod uwagę zostały takie aspekty jak możliwie najniższy pobór mocy oraz cicha praca. W ten sposób karta graficzna nie przegrzewa się, a gdy nie jest używana, pobiera  tylko trochę więcej energii niż o wiele mniej wydajne konstrukcje. Czy warto ją kupić? Jeśli uważasz się za maniaka wydajności i jesteś w stanie wydać na kartę graficzną 2200 zł, jak najbardziej. Konstrukcja ta naszym zdaniem zapewni wystarczającą wydajność jeszcze przez ponad dwa lata, co w branży IT jest ogromnym odcinkiem czasu.


Zobacz również