Zgłoś błąd
X
Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.
Błędy w spisie treści artykułu zgłaszaj jako "błąd w TREŚCI".
Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
.
Załóż konto
EnglishDeutschукраїнськийFrançaisEspañol中国

Test GeForce GTX Titan - Nieziemska wydajność, kosmiczna cena

Sebastian Oktaba | 21-02-2013 15:00 |

NVIDIA Kepler - Architektura

Nvidia w czasie pracy nad Fermim jako priorytet stawiała jego wydajność w stosunku do architektury Tesli (GT200). Zaowocowało to bardzo wydajnym rdzeniem graficznym, któremu daleko było do energooszczędnego rozwiązania zwłaszcza po przeciwstawieniu Fermiego (GF100) z nowym dzieckiem Czerwonych (HD 7970). Nowsze wcielenie Fermiego (GF110) mimo poprawek wciąż kuleje w takim porównaniu. Wraz z projektowaniem Keplera kolejność priorytetów jakie przyświecały Nvidii ulegała więc zmianie. O ile zachowanie tytułu najwydajniejszej jednordzeniowej karty było wciąż istotnym aspektem, to najwyższy priorytet otrzymała energooszczędność. Jednym z największych wkładów w ową nową wyższą wydajność z jednego wata jest nowy proces technologiczny wynoszący jak u konkurenta 28nm. Obrabianiem krzemu dla giganta z Santa Clara zajmują się fabryki TSMC, czyli te same dziergające rdzenie dla kart AMD. Oczywiście Nvidia nie spoczęła na laurach i nowy rdzeń Kepler (GK104) otrzymał szereg zmian wspomagających mniejszy proces w stworzeniu wydajnego ale zadowalającego się niskimi dawkami żywności GPU.

Po lewej SMX w GK104 (Kepler), po prawej SM w GF110 (Fermi)

Zmiany te zaczynają się od typowej optymalizacji pojedynczego procesora CUDA na dość innowacyjnej dla Zielonych zmianie kończąc. Ta zmiana polega na zaniechaniu taktowania szaderów dwukrotnie większym zegarem niż reszta GPU w zamian dając tychże procesorów znacznie więcej. Tak powstała nowa generacja Strumieniowego Multi-procesora, zwanego SMX. Nowy SMX otrzymał 192 rdzenie CUDA, 6-krotnie więcej niż SM w Fermi (GF110). Osiem razy więcej (32) jednostek SFU (Special Function Units) odpowiedzialnych między innymi za operacje transcendentalne czy interpolacje graficzne. SMX w Keplerze otrzymało też 16 jednostek teksturujących, cztery razy więcej od SM w Fermi. Liczba silników polimorficznych pozostała bez zmian i wynosi jeden, silniki te odpowiadają przede wszystkim za teselację. Całość SMX uzupełnia dwukrotnie większa liczba jednostek odpowiedzialnych za ładowanie i zapis (32 jednostki LD/ST) oraz kolejkowanie (4 Warp Schedulery). Tak zbudowany SMX ma zapewniać dwu-krotnie większą wydajność na jeden wat od SM wykorzystywanego w Fermim.

Na górze GK104 (Kepler), na dole GF110 (Fermi)

Poniżej chip GF110

Kompletny rdzeń GeForce składa się z mieszanki klastrów precesowania graficznego GPC (Graphics Processing Clusters) zawartych w nich multi-procesorów strumieniowych SMX, a całość uzupełniają kontrolery pamięci. Najmocniejsze GPU z nowej rodziny zawiera 4 klastry GPC, w nich po jednym dedykowanym silniku rastrowym i łącznie 8 multi-procesorów SMX. W porównaniu do 16 SM w Fermi (GF110) otrzymujemy więc 3 razy tyle procesorów CUDA, a dokładniej 1536. Otrzymujemy 4-krotnie więcej jednostek SFU (256), 2-krotnie więcej jednostek teksturujących (128 jednostek Tex). Zachowana została liczba jednostek LD/ST (256) i jednostek kolejkujących (32). Zmalała o połowę do ośmiu liczba silników polimorficznych. W stosunku do Fermiego zmalała też liczba kontrolerów pamięci. Jest ich "tylko" cztery sztuki. Jednak dzięki daleko idącym optymalizacjom, nowe kontrolery są w stanie pracować z kośćmi GDDR5 taktowanymi zegarem aż 1502 MHz (6008 MHz efektywnie). Takie taktowanie przy łącznej szerokości szyny pamięci wynoszącej 256-bit owocuje przepustowością na poziomie 192 GB/s, czyli podobnej do GTX 580. Czy nie okaże się to wąskim gardłem przekonacie się w testach. Każdy z kontrolerów pamięci sparowany jest z 128KB pamięci podręcznej L2, i 8 ROPami (każdy ROP operuje na pojedynczej próbce koloru), co daje 512KB pamięci L2 i 32 ROP w całym rdzeniu. 

Koniec końców GTX 680 powinien zapewnić znaczną poprawę w wydajności cieniowania i teksturowania w stosunku do 580-tki. Zachowanie wydajności w stosunku do taktowania pozostałych aspektów na niezmienionym poziomie wciąż daje Keplerowi przewagę ze względu na znacznie wyższe standardowe taktowanie. Uważne oczy czytelnika zapewne zauważyły, że Kepler stracił jednak połowę silników polimorficznych odpowiedzialnych za teselację. Czy oznacza to gorszą wydajność nowości ze stajni Zielonych w tego typu zadaniach? Niekoniecznie. PolyMorph Engines, bo tak się nazywają po angielsku owe silniki, w GK104 oznaczone są cyferką 2. Poprawiono ich wydajność blisko dwu-krotnie, a dodając do tego 30% większy zegar Keplera: GTX 680 powinien być ostatecznie szybszy od swojego poprzednika GTX 580. Czy tak jest w rzeczywistości wykażą oczywiście nasze testy.

By wykarmić nowe znacznie mocniejsze multi-procesory SMX zmian wymagały także jednostki odpowiedzialne za harmonogramowanie zdarzeń. W każdym SMX zawarte są 4 takie jednostki (Warp Schedulers) i każda z nich jest w stanie generować dwie instrukcje na "warp" na takt zegara ("Warp" to zestaw 32 wątków - u AMD najbliższym odpowiednikiem są "fale" wavefronts). Ponadto pracując nad owymi jednostkami funkcje kolejkowania należało przeprojektować z nastawieniem na wydajność z wata. Zarówno Fermi jak i Kepler posiadają w strukturach jednostek harmonogramujących podobne elementy odpowiedzialne za obsługę funkcji kolejkujących. Są to: porządkowanie rejestrów dla operacji o dużym opóźnieniu, "między-warpowe" decyzje kolejkowania polegające np. na wyborze najlepszego "warpa" do obrobienia jako następnego, oraz planowanie na poziomie bloku/zestawu wątków. Na tym podobieństwa się kończą. Fermi posiada złożone, energetycznie wymagające sprzętowe bloki odpowiedzialne za zabezpieczanie by dane nie uległy uszkodzeniu: multi-portowa tablica rejestrów trzyma informacje o rejestrach niegotowych z poprawnymi danymi, oraz blok sprawdzający z pomocą owej tablicy wykorzystanie rejestrów pośród wielu w pełni zdekodowanych instrukcji "warpów", aby określić, które kwalifikują się do wydawania.

Przy projektowaniu Keplera Nvidia zdała sobie sprawę, że informacje analizowane przez te złożone bloki są deterministyczne (opóźnienia w potokach matematycznych nie są zmienne). Jest więc możliwe by kompilator określał z góry kiedy dana instrukcja będzie gotowa do wydania, ponadto udostępniając tą informację w samej instrukcji. Ten zabieg pozwolił Zielonym zastąpić skomplikowane bloki Fermiego znacznie prostszym w Keplerze. Ten porosty blok wyciąga wstępnie zdefiniowane informacje o opóźnieniu instrukcji i wykorzystuje je przy wykreślaniu "warpów" z listy kwalifikacji (do wydania) na etapie "między-warpowego" kolejkowania.

Kolejną zmianą związaną z projektowaniem GK104 jako energooszczędnego była już wspomniana rezygnacja z dwu-krotnie większego taktowania szaderów. Rozwiązanie to wprowadzone wraz z architekturą Tesli miało za zadanie zapewnić taką samą wydajność przy zmniejszeniu zapotrzebowania przestrzeni. Dwa razy szybciej taktowane bloki zapewniały taką samą wydajność jak dwa razy więcej bloków taktowanych standardowym zegarem. Problem w tym, że zwiększenie taktowania dwu-krotnie niosło za sobą blisko 4-krotne podniesienie zużycia prądu. Niższy proces technologiczny pozwolił jednak na zastosowanie większej liczby niżej taktowanych bloków mimo większego zapotrzebowania na przestrzeń. Dla wsparcia wszystkich zmian jakie zaszły w architekturze Keplera poprawiono także pamięć podręczną drugiego poziomu. Pamięć podręczna L2 współdzielona jest przez wszystkie elementy rdzenia GK104 i dla wspomagania znacznie większej wydajności pojedynczego SMX Keplera w stosunku do SM Fermiego poprawiono przepustowość tejże pamięci o 73%. Wpłynęło to znacząco na wydajność operacji atomowych, a zwłaszcza tych operujących na tym samym adresie.

Bądź na bieżąco - obserwuj PurePC.pl na Google News
Zgłoś błąd
Sebastian Oktaba
Liczba komentarzy: 50

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.