artykuły

GeForce GTX 970 – problemy z przepustowością pamięci po zajęciu 3 GB?

446
27 stycznia 2015, 12:03 Łukasz Marek

GeForce GTX 970, czyli najnowsza, wrześniowa nowość Nvidii, to jedna z najlepiej wycenionych kart graficznych z wyższej półki w ostatnich latach. Gdy trafiła do sprzedaży, zdeklasowała (wydajnością oraz kulturą działania) czołowe konstrukcje AMD z jednym GPU w postaci Radeona R9 290 oraz R9 290X. Od kilku tygodni w sieci pojawiają się jednak doniesienia, jakoby model GTX 970 miał problem z wydajnością (a dokładniej: z przepustowością pamięci) po przekroczeniu nieco ponad 3 GB zajętości. Postanowiliśmy szybko to sprawdzić!

Spis treści

GeForce GTX 970 – problem z pamięcią?

Omawiany problem z pamięcią wypłynął w społecznościach takich, jak Reddit, Overclock.net oraz Guru3D, kilkanaście dni temu. Za pomocą oprogramowania, które mierzy przepustowość pamięci na karcie graficznej przy różnych poziomach zapełnienia, daje się wskazać przypadłość GTX-ów 970: duży spadek przepustowości po zajęciu nieco ponad 3 GB VRAM-u na karcie.

Jak duży? Podczas dostępu do pamięci od pierwszego megabajta do nieco ponad 3200 MB jej zmierzona przepustowość wynosi około 150 GB/s, podczas gdy po przekroczeniu pewnej wartości (zazwyczaj 3300–3500 MB zajętości) przepustowość spada gwałtownie do 20–25 GB/s. Możecie to zobaczyć poniżej:


Wyniki uzyskane przez GeForce'a GTX 970

Jak widać na powyższym zrzucie ekranu, wykonaliśmy test na jednym z niereferencyjnych modeli GTX-a 970. Twórca omawianego narzędzia udostępnił kod źródłowy, ale sami nie możemy ocenić, co ono tak naprawdę robi, więc jedyny komentarz, o jaki się pokusimy, jest taki, że... rezultaty wykazują istnienie problemu. Co ciekawe, w pierwszych testach nowego produktu Nvidii czy też następujących po nich testach wersji niereferencyjnych nikt nie zauważył zjawiska. I to nawet w trybie typu WQHD (2560 × 1440 pikseli) z wygładzaniem krawędzi czy 4K (3840 × 2160 pikseli) w najbardziej wymagających grach.

Co jeszcze ciekawsze, problem ten ma w ogóle nie dotyczyć najwyższego modelu Nvidii, GTX-a 980. I to pomimo tego, że oba najwyższe modele w jej ofercie (GTX-y 970 i 980) dzielą ten sam podsystem pamięci i w istocie mają te same układy GPU. W dziewięćsetsiedemdziesiątce wyłączono po prostu 3 z 16 bloków SMM. Czy w GTX-ie 970 mamy zatem do czynienia z jakimś niezamierzonym błędem, który można szybko naprawić aktualizacją sterowników i/lub BIOS-u?


Wyniki uzyskane przez GeForce'a GTX 980

GTX 970 jednak nie taki podobny do GTX-a 980...

Czy jednak na pewno można powiedzieć, że po prostu wyłączono 3 z 16 bloków SMM? Niezupełnie, o czym dowiecie się za moment.

Stanowisko Nvidii brzmi, we fragmentach, tak:

GeForce GTX 970 jest wyposażony w 4 GB własnej pamięci graficznej. Jednakże GTX 970 ma inną konfigurację SM [multiprocesorów strumieniowych – przyp. red.] niż GTX 980, a także mniej zasobów dla podsystemu pamięci. Aby optymalnie zarządzać ruchem w takiej konfiguracji, dzielimy pamięć graficzną na segment 3,5 GB i segment 0,5 GB. GPU dla segmentu 3,5-gigabajtowego ma wyższy priorytet dostępu. Gdy gra potrzebuje mniej niż 3,5 GB pamięci graficznej dla polecenia rysowania, będzie uzyskiwać dostęp tylko do pierwszej partycji, a inne narzędzia, które wyliczają użycie pamięci na kartach GTX 970, będą raportować zajęcie 3,5 GB. [...] Jeżeli gra wymaga więcej niż 3,5 GB, wykorzystujemy oba segmenty.

Ale dlaczego tak to wszystko wygląda?

GTX-owi 970 brakuje jeszcze czegoś...

ROP-ów. Nie, to nie żart. Bujdą są 64 jednostki ROP w GTX-ie 970. Po tym, jak wypłynął problem pamięci, Nvidia przyznała, że rdzeń GM204-200 ma ich zaledwie 56. Przy okazji tłumaczy, że podczas tworzenia poradników dla testerów doszło do nieporozumienia pomiędzy inżynierami a specjalistami od PR. Dziwne, że przez 4 miesiące nikt nie postanowił sprostować tej informacji, prawda? To właśnie mniejsza liczba ROP-ów jest powodem mniejszej przepustowości pamięci w ostatniej części VRAM-u GTX-a 970.

GeForce GTX 970 ma 13 bloków SMM po 128 CUDA, co razem daje 1664 jednostki CUDA. Najważniejszy jest jednak specjalnie przygotowany przez pracownika Nvidii Jonaha Albena diagram wyjaśniający problem dostępu do pamięci.

Na górze diagramu widać 13 aktywnych jednostek SMM (czarne, wyraźne bloki oznaczone SM) oraz 3 nieaktywne (to te szare). W środku jest interfejs nazwany przez inżyniera Crossbar, który służy do komunikacji z pamięcią. Interfejs ten ma osiem portów do połączenia pamięci podręcznej L2 oraz 32-bitowych kontrolerów pamięci (MC). Wszystkie te elementy są włączone w GTX-ie 980, ale w GTX-ie 970 jeden z portów musiał zostać wyłączony. Ostatni, siódmy port jest zatem współdzielony pomiędzy dwa kontrolery pamięci i ten z ostatniego segmentu po prawej stronie dostał niższy priorytet – wszystko po to, aby siódmy port nie dostawał dwa razy więcej próśb o dane niż każdy inny port interfejsu Crossbar.

Nvidia miała trzy wyjścia. Mogła stworzyć kartę, która miałaby albo 3 GB pamięci o pełnym, 192-bitowym interfejsie, albo 3,5 GB pamięci o 224-bitowym interfejsie, albo 4 GB pamięci o 256-bitowym interfejsie, gdzie tylko 7/8 VRAM-u miałoby priorytet, a dostęp do reszty byłby wolniejszy. Wybrano ostatnią opcję jako mniejsze zło.

Na powyższym diagramie zastanawia jeszcze jedno: jeden blok L2 również jest pokolorowany na szaro. Niestety, to też nie jest błąd. GTX 970 ma 1792 kB pamięci podręcznej, a nie, jak GTX 980, całe 2 MB, choć początkowa specyfikacja wyglądała inaczej.

Dwie zmiany specyfikacji w ciągu jednego dnia? Czy zatem wcześniej mieliśmy do czynienia z fatalnym przeoczeniem? Jakoś trudno w to uwierzyć i na pewno więcej osób będzie o to pytać.

Testy, testy, testy...

Nvidia udostępniła własne wyniki testów porównawczych GTX-a 980 i 970, w formie tabelki z uśrednionymi osiągami. Większości jednak takie porównanie nie interesuje. I bardzo słusznie. „Zieloni” sami propagowali pomysł, aby za prawdziwą płynność rozgrywki przyjmować to, co się dzieje już na ekranie komputera, a więc szczegółowy zapis tego, ile zajęło wyrenderowanie oraz wyświetlenie kolejnych klatek obrazu. Chodzi po prostu o wykresy wygenerowane z użyciem metody FCAT, która pokazuje dokładnie, co się działo z płynnością animacji w każdej milisekundzie testu. W swoim artykule przedstawiającym metodę FCAT sami udowodniliśmy, że średni wynik ma się nijak do faktycznej wydajności, jeśli dana karta graficzna generuje klatki w nierównym tempie lub niektórych w ogóle nie wyświetla.

W związku z tym, że w naszym laboratorium stoi maszyna, która zajmuje się wyłącznie przetwarzaniem filmów i prezentowaniem wyników uzyskanych za pomocą metody FCAT, postanowiliśmy przeprowadzić własne testy w pamięciożernych grach, które pokazałyby, czy mierzalny przy użyciu specjalnego oprogramowania problem (spadek przepustowości do 22 GB/s w ostatnim segmencie pamięci) jest mierzalny również podczas rozgrywki.

Przeprowadziliśmy własne testy trzech kart graficznych: dotkniętego problemem GTX-a 970, wolnego od wad GTX-a 980 i kartę konkurencji z tą samą ilością pamięci i podobnie wycenioną, czyli Radeona R9 290X. Porównaliśmy wyniki wszystkich trzech konstrukcji w pamięciożernych grach, takich jak Assassin's Creed: Unity oraz Middle-earth: Shadow of Mordor.

Przechodząc do rzeczy: na razie sprawdziliśmy działanie GTX-ów 970 i 980 w dwóch najbardziej pamięciożernych grach z naszej procedury testowej: Assassin's Creed: Unity oraz Middle-earth: Shadow of Mordor. Jeśli nasi Czytelnicy mają jakieś propozycje, co jeszcze można by tu dodać (w grę wchodzi również profesjonalne oprogramowanie, ale tylko z kompletną instrukcją wykonania testu), jesteśmy na nie otwarci.

Do problemu podeszliśmy kompleksowo: na każdej z trzech konfiguracji postanowiliśmy wykonać trzy kompletne przejścia. Pierwsze przejście testowe wykonywaliśmy od razu po uruchomieniu gry i wczytaniu jej stanu, a dwa dalsze następowały już po pierwszym teście i polegały na zwykłym ponownym wczytaniu stanu gry.

Postanowiliśmy też udostępnić filmy z wszystkich przejść z włączonym monitoringiem programu MSI Afterburner, który raportuje takie parametry karty graficznej jak zajętość pamięci graficznej (określoną jako VRAM use i podaną w megabajtach). Wszystkie filmy można znaleźć pod tym linkiem.

Strona:
ghs2015.01.27, 12:08
-20#1
czyli już driver nvidii nie pozwala na zapełnienie całych 4gb vram dla gtx970 w tych dwóch grach. test więc nie miał większego sensu

edit: i jeszcze konfrontacja dwóch zdań z tej publikacji:

1. strona2: ''Faktem jest natomiast, że w trakcie trzech przejść w Assassin's Creed: Unity, zarówno GTX-owi 970 jak i Radeonowi R9 290X zdarzały się małe przycięcia obrazu, podczas gdy GTX 980 jest całkowicie wolny od problemu'

2. strona4: ''Najzabawniejsze jest przecież w tym wszystkim to, że premierowa oraz obecna wydajność GeForce'a GTX-a 970 przecież wcale nie ulegnie zmianie.''

Zdania wzajemnie się wykluczające. Nikt na premierę nie badał mikrocięć a to właśnie o nie cała batalia się rozgrywa.

tak jak ktoś wspominał pod newsem na stronie głównej. badanie w som i acu nie ma sensu. należy sprawdzić w tytule dla którego jeszcze nvidia nie zdążyła zapudrować problemu czyli coś w rodzaju star citizen

edit2. ok może przesadziłem że test nie miał sensu ale sprawdziliście tytuły dla których istnieje wysokie prawdopodobieństwo że sterownik otrzymał dedykowaną łatkę dla gtx970. tego problemu nie można w ten sposób badać bo to do niczego nie prowadzi a jedynie do wniosku ''w som i acu jest ok''.

dodatkowo odpowiedzmy sobie na pytanie po co nvidia dodała ten nieszczęsny bufor. po to aby poprawić sprzedaż czy wydajność? odpowiedź chyba jest prosta. i jak widzimy inżynierowie robili wszytko aby pomysł sprzedażowców nie pogorszył wydajności. czy im się udało, cholera wie, na pewno nie potwierdzimy tego (lub nie zaprzeczymy) w tytule sponsorowanym przez nvidię. tu tzreba albo napisać dedykowany soft do analizy po problem jest wyjątkowy, albo badać w produkcjach niszowych/nowych, jeszcze nieprzypudrowanych sterownikiem

edit3: takie wybielanie nvidii na forach i artykułach jest niezrozumiałe. nvidia wykonała celowe działanie mające na celu wprowadzenie klienta w błąd. nie mogą się tłumaczyć że dział marketingu źle przepisał ilość ROP czy cache bo takie dane też są w biosach gdzie raczej PR nie macza paluchów. dla mnie to kryminał bez znaczenia czy produkt jest dobry czy nie.

a udowadnianie niemożliwego czyli że rozwiązanie 3,5gb szybkiej pamięci + 0,5gb jakiegoś żałosnego marketingowego buforka jest tak samo efektywne (dla ciągłych odczytów z całego vram) jak na karcie gdzie jest 4gb z normalnym dostępem, może się udać tylko w sytuacji gdy odbiorca jest idiotą.

podsumowując:
karta jest niezgodna z podaną w dniu zakupu specyfikacją zatem istnieje niezerowe prawdopodbieństwo że cześć klientów, gdyby znała prawdziwą specyfikację, to towaru by nie nabyła. zatem mamy błędne dane mające na celu uzyskanie korzyści finansowej. to raz. dwa. argument że od dnia premiery wydajność się nie zmieniła jest od czapy. nie wiemy jaka by była wydajnosc gtx970 gdyby naprawdę miał 64 rop, większy cache i pełne 256-bit z 4gb vram bez bufora. takiej karty nie ma i dopóki nvidia takiej karty nie wyprodukuje, nie porówna z obecną i nie pokaże że mają taką samą wydajność to zakłada się że gorsza specyfikacja pociąga za sobą gorszą wydajność. dodatkowo to że nie ma problemów z kartą dziś nie oznacza że nie będzie ich jutro. idiotyczny bufor ma prawo niepokoić klientów i niepokoi. na szczęście to nie nvidia stanowi prawo więc wystarczy jeden wygrany pozew zbiorowy i mają pozamiatane
Mich486Zobacz profil
Poziom ostrzeżenia: 0%
Mich4862015.01.27, 12:08
-9#2
Pytanie czy Nviadia o tym problemie wiedziała przed wypuszczeniem karty na rynek, jeśli tak to pomijając aspekt etyczny moim zdaniem można od nich dochodzić zwrotu pieniędzy za wadliwy produkt.
focusZobacz profil
Poziom ostrzeżenia: 0%
focus2015.01.27, 12:09
ghs @ 2015.01.27 12:08  Post: 828145
czyli już driver nvidii nie pozwala na zapełnienie całych 4gb vram dla gtx970 w tych dwóch grach. test więc nie miał większego sensu

Może przeczytaj co napisaliśmy, co?
edek20Zobacz profil
Poziom ostrzeżenia: 0%
edek202015.01.27, 12:11
31#4

I rzekomo GTX970 ma problem a 290X nie? Wolne żarty!
SunTzuZobacz profil
Poziom ostrzeżenia: 0%
SunTzu2015.01.27, 12:11
32#5
Nvidia mogła zrobić dwie rzeczy: stworzyć kartę, która ma 3 GB pamięci z pełnym, 192-bitowym interfejsem lub 4 GB pamięci z 256-bitowym interfejsem, gdzie tylko 7/8 pamięci VRAM ma priorytet, a dostęp do reszty jest wolniejszy. Zieloni wybrali drugą opcję jako mniejsze zło.

1. Mogli zrobić kartę, która ma 3,5GB pamięci i 224bit jak już? 192BIt wymagałoby dalszego cięcia GPU.
2. Mogli zrobi kartę, która ma 4GB pamięci i 256bit.


Diagram z 980m... więc wałki, wałki, wałki.
Taa PR NV mnie zaminusuje :P Damage Control.
LiptonZobacz profil
Poziom ostrzeżenia: 0%
Lipton2015.01.27, 12:12
16#6
Pierwszy raz zgadzam się z Waszym artykułem w pełnym jego wymiarze ;)
Dobra robota.

LUX2015.01.27, 12:12
24#7
ghs @ 2015.01.27 12:08  Post: 828145
czyli już driver nvidii nie pozwala na zapełnienie całych 4gb vram dla gtx970 w tych dwóch grach. test więc nie miał większego sensu

Gdybyś miał rację to w tych testach GTX 970 dostałby oberwałby po FPS'ach
jackowoZobacz profil
Poziom ostrzeżenia: 0%
jackowo2015.01.27, 12:13
21#8
Czyli burza w szklance wody
AmdfanZobacz profil
Poziom ostrzeżenia: 0%
Amdfan2015.01.27, 12:14
-1#9
Mich486 @ 2015.01.27 12:08  Post: 828146
Pytanie czy Nviadia o tym problemie wiedziała przed wypuszczeniem karty na rynek, jeśli tak to pomijając aspekt etyczny moim zdaniem można od nich dochodzić zwrotu pieniędzy za wadliwy produkt.

Jaki wadliwy produkt?
Wejdź sobie na stronę Nvidii, przeczytaj specyfikację karty, coś ci się nie zgadza?
focusZobacz profil
Poziom ostrzeżenia: 0%
focus2015.01.27, 12:16
ghs @ 2015.01.27 12:08  Post: 828145
edit: i jeszcze konfrontacja dwóch zdań z tej publikacji:

1. strona2: ''Faktem jest natomiast, że w trakcie trzech przejść w Assassin's Creed: Unity, zarówno GTX-owi 970 jak i Radeonowi R9 290X zdarzały się małe przycięcia obrazu, podczas gdy GTX 980 jest całkowicie wolny od problemu'

2. strona4: ''Najzabawniejsze jest przecież w tym wszystkim to, że premierowa oraz obecna wydajność GeForce'a GTX-a 970 przecież wcale nie ulegnie zmianie.''

Zdania wzajemnie się wykluczające. Nikt na premierę nie badał mikrocięć a to właśnie o nie cała batalia się rozgrywa.

Oczywiście, że badaliśmy. Nie pokazywaliśmy wykresów z FCAT-a bo na nich można zmieścić najwyżej 4 linie. Mikroprzycięcia były wtedy takie same jak dziś. Faktem za to jest, że wtedy nie było gier, które tak mocno obciążały pamięć RAM i dlatego ten dzisiejszy test ma sens.
Zaloguj się, by móc komentować
1