Raport techniczny - Level 1

BLOG
636V
Raport techniczny - Level 1
Octavio | 26.03.2020, 13:30
Poniżej znajduje się treść dodana przez czytelnika PPE.pl w formie bloga.

W pierwszym raporcie technicznym spojrzymy na różne koncepty dotyczące sposobu taktowania i zasilania GPU na różnych platformach oraz jaki to będzie miało wpływ na kulturę pracy tych urządzeń np. w konsolach. Dodatkowo kilka ciekawostek których poznanie zmieni naszą perspektywę na działanie obecnych konsol i świata. Tak, nie zabraknie SSD ;)

Pierwszą kwestią która jest naszym najważniejszym tematem na blogu jest Variable Frequency (zmienna częstotliwość). Jest to termin odpowiadający za szybkość taktowania czyli częstotliwość z jaką GPU (graficzna jednostka obliczeniowa) jest w stanie przetworzyć dane, które ostatecznie pojawią się na naszych TV jako obraz. Playstation 5 ma możliwość osiągnięcia zawrotnej na dzisiejsze czasy częstotliwości 2230 Mhz. 1 Mherc to milion operacji na sekundę. Im większa jest częstotliwość taktowania GPU tym więcej operacji na sekundę można wykonać. Ile takich operacji ostatecznie może wykonać komputer nie zależy jednak w głównej mierze od tego jaka jest jego częstotliwość taktowania ale też z ilu bloków CU zbudowany jest GPU. Po polsku CU to jednostki obliczeniowe. Np. Xbox Series X będzie miał tych bloków 52, a PS5 36. Każdy blok CU zbudowany jest z tranzystorów i to właśnie od ich liczby zależy wydajność procesora graficznego. Jako że producentem GPU jest AMD i to na podstawie ich technologi zbudowane są konsole, liczba tych tranzystorów w jednostkach CU jest wszędzie taka sama na każdej platformie. Aby więc obliczyć, ile takich operacji GPU jest w stanie wykonać w ciągu sekundy, musimy znać podstawowe informacje: z jaką częstotliwością pracuje GPU i ile ma CU. Następnie musimy jeszcze wiedzieć na ile cykli w ciągu sekundy pozwala nam CU i z ilu jednostek Shading Units jest zbudowany. Ile takich SU jest w CU oblicza się mnożąc CU przez liczbę 64. W przypadku konsol wygląda to więc następująco.

Xbox: 1825 x 2 x 3328 (52x64) = 12 147 200

PS5: 2230 x 2 x 2304 (36x64) = 10 275 840

Po zaokrągleniu wychodzi nam 12.15 & 10,28. No dobrze, kiedy już znamy te liczby, to czy oznaczają one ile operacji w ciągu sekundy wykona GPU? Czy jest to 12 i 10 milionów takich operacji? Nie ponieważ są to wartości skrótowe. Te liczby odzwierciedlają jedynie ile Tflops w ciągu sekundy wykonuje GPU. A jeden Tflops to inaczej bilion: 10 do potęgi 12. Tak więc w skrócie Xbox to moc 12 bilionów 147 miliardów 200 milonów operacji na sekundę :) Wartość w obliczeniach jest zaniżona ponieważ nie ma sensu pisać zamiast 1825... 1825000000 jeśli wiemy że 1 Mhz to milion:) Tyle operacji trzeba aby wyświetlić tę wspaniałą grafikę na TV biorąc pod uwagę tylko ten jeden czynnik. Prawda że kosmos, niby jest ale niewyobrażalny. 

Poniżej macie historię flopsów w konsolach. Playstation 4 jest skromnie 297 razy szybszy (we flopsach) od PS2 :) Spójrzcie na Xboxa i Playstation 2. Dzieli ich różnica 21 miesięcy od premiery, a już GPU w Xbox był o 220% szybszy. To były czasy kiedy Prawo Moore’a miało jeszcze zastosowanie. A dzisiaj niektórzy kabareciarze na PPE modlą się aby 18% różnicy na korzyść Series X pogrzebało Playstation 5 :)

Jako ciekawostkę podam, że było na świecie wielu ekspertów którzy w analogiczny sposób próbowali zobrazować ile flopsów ma ludzki mózg. Wyniki były bardzo rozbieżne. Podam najwyższą liczbę z najwyższą datą. Wyobraźcie sobie że pan Tuszynski w 2006r. obliczył tę wartość na X flopsów z 28 zerami :) Napisałem X bo wikipedia kończy nazywanie flopsów przy 24 zerach :)  Jak astronomiczna jest to wartość niech świadczy to, że najmocniejsze komputery naukowe złożone z klastrów mają te flopsy jedynie z 15 zerami.

Po tym "krótkim" wstępie wiedząc czym jest taktowanie procesora i jak to przekłada się na jego szybkość możemy przejść do jego zasilania. Ile takich Megaherców GPU może mieć, zależy od ilości energii jaką otrzyma. Im większe będzie to napięcie tym więcej będzie miał megaherców. Nie oznacza to jednak że podnosząc mu je w nieskończoność otrzymamy więcej Mhz. Po prostu GPU tak jak wszystko w przyrodzie pracując wytwarza energię. I ta ilość wytworzonej energii w końcu doprowadziłaby albo do jego uszkodzenia albo spalenia. Dlatego procesory mają zabezpieczenia termiczne lub blokady które zabezpieczają układ przed przegrzaniem się. I w obecnej generacji konsol będziemy mieli dwa zupełnie inne podejścia do zasilania GPU w konsolach, które z kolei różnią się od tego sposobu w PC. Trzy różne przypadki. Aby zrozumieć ich cechy najpierw jednak trzeba zrozumieć gdzie jest granica krytyczna? Tzn. gdzie GPU osiąga takie temperatury i otrzymuje tyle zasilania, że jego dalsze zwiększanie jest nieopłacalne. Będzie to definiowało nie tylko jakie chłodzenie trzeba zamontować ale też ilość energii jaką GPU będzie potrzebował. A ilość energii ma bardzo ważne znaczenie w przypadku PS5 i jego maksymalnych wartości taktowania, zarówno CPU jak i GPU. Otóż im większa wartość w megahercach chcemy osiągnąć, tym wartość energii do tego potrzebnej wzrasta wykładniczo.

Przypomina to próbę wejścia na stromy szczyt. Na początku będzie lekko ale im wyżej wejdziemy tym będzie ona bardziej stroma, a niektórzy oddają przy tym swoje życie nigdy nie wchodząc na szczyt. Jeśli np. w Xbox mamy taktowanie 1825 Mhz, znaczy to, że jest to optymalna wartość przy której konsola może sprawnie i wydajnie funkcjonować z chłodzeniem i całym sprzętowym ekosystemem. To taki przyczółek dla alpinistów zawodowców, bezpieczna wartość z której można zaczynać hardcorowe wspinanie. Gdyby Microsoft uważał że może ono być większe, to by po prostu zwiększył napięcie zasilające. Ale projekt konsoli i wielkość APU mu na to już nie pozwala. I główną przeszkodą w tym jest wydzielanie ciepła i KOSZT z tego wynikąjący. 1825 VS 2230 to różnica 22% między przyszłymi konsolami. W przypadku GPU w kartach graficznych na PC w ostatnich latach taka wartość jest nie do pomyślenia. Jedyną wyraźną różnicą jaką możemy zaobserwować na rynku to ten w przypadku kart RTX 2080 VS 2080TI Nvidii. Z tym że tam różnica wynosi ledwie 5%. Dlaczego tak się dzieje? Po prostu, pobór prądu wzrasta wykładniczo czyli im więcej Mhz będziemy chcieli osiągnąć tym więcej zasilania będzie on potrzebował. Więc zamiast zwiększać prędkość karty taktowaniem, reguluje się je ilością bloków CU. Podam to na przykładzie podkręcania karty RX 5700 XT. Cały zestaw komputerowy (przykładowy który widzialem) z taktowaniem tej karty przy 1825 Mhz pobiera 312 watów prądu. Jeśli podniesiemy tę wartość do 2025 Mhz ilość pobieranego prądu wzrośnie aż do 378 watów. Co to się stanęło? Oszukali mnie :) Podniosłem wartość taktowania dla GPU o 12% a ci "ukradli" mi 21% dodatkowego prądu zamiast 12% :) I teraz jeżeli chcielibyśmy podkręcić kartę do wartości 2230 Mhz różnica miedzy 12 a 21% jeszcze bardziej by się powiększyła. W przypadku RDNA 1 jest to tak kosmiczna wartość, niemożliwa w normalnych warunkach. Rozumiecie do czego dążę? :) Otóż jak to w komentarzach, pojawili się różnej maści "eksperci" od specyfikacji sprzętowej, od których czytania komentarzy traciłem wiarę w ludzkość. Otóż zaczęli oni wypisywać, że obniżenie poboru prądu w PS5 o 10% (jak powiedział Cerny na swojej prezentacji) oznacza spadek taktowania GPU o 10%, do poziomu 9,2 Tflops. Jak sam jednak Cerny powiedział jest to ilość mało znacząca/niewielka, a 10% z pewnością taką wartością nie jest. Mimo, że niektórzy chcieliby z pewnością aby nawet te 10% było wartością ogromną :) Załóżmy że PS5 miał na początku 9,2 Tflops z z zegarem 2 Ghz. Gdybyśmy chcieli odciąć jej 10% energii z 161 watów to wartość spadła by do 145 wat co obniżyło by taktowanie o zaledwie 50 Mhz a nie o 200 jak to niektórzy specjaliści  chcieliby myśleć. Tabela poniżej pokazuje nam że dla RDNA wartość krytyczna dla taktowania przy której koszt energetyczny zaczyna decydować o opłacalności to okolice 1,8 Ghz.  Przejście z 1.6 Ghz na 1,8 wymagało podniesienia zasilania o 24 wat. Z 1,8 na 2 Ghz już 43. Koszt wzrósł o 85%.

Dlaczego więc niektórzy ludzie twierdzą zupełnie coś innego niż specjalista od Inżynierii. Z tego samego powodu z którego kiedyś tacy sami ludzie palili na stosie każdego, kto twierdził że ziemia kręci się wokół słońca. Ich wiedza o świecie była żadna. Przeżyliśmy RDNA 1, brak sprzętowego wsparcia Ray Tracingu, a ostatnio jak już myślałem że widziałem wszystko, to przeczytałem że już nawet CPU ma być bez SMT (wielowątkowość CPU - 8 rdzeni/16 wątków. Poniżej zdjęcie z oficjalnego bloga Playstation.

Aby czymś przyklepać swoją tezę musiała powstać jakaś teoria, stanowiąca podstawę do takiego twierdzenia. No i okazuje się, że za tym stoją szpiedzy z Sony. Działania wywiadu pozwoliły podejrzeć specyfikację konsoli Microsoftu. Sony wpadło w panikę, całkowicie przeprojektowało konsolę pod wysoki pobór prądu i o 10% podnieśli taktowanie. Genialny plan. Wmówili ludziom że mają 10,28, a w rzeczywistości mają 9,2. Przeprojektować konsolę, zwiększyć jej koszty aby tylko oszukać ludzi. Ehh... Jak już pokazałem na przykładzie AMD podniesienie taktowania o 12 % zwiększa zapotrzebowanie na prąd o 21%. Jakim więc cudem spadek o 10% poboru mocy obniży o ten sam procent wartość megaherców, według "ekspertów"? A przecież różnica taktowania na korzyść PS5 pokazuje, że nie jest to 12 a 22%. Koszt kolejnych Mhz w watach byłby ogromny. I dzięki temu krótkiemu opisowi wiecie już pewnie o co mi chodzi? Tak,  Cerny mówi wyraźnie, że obniżenie poboru prąd o 10% obniży taktowanie o bardzo małe ilości. Wynika to z tego że przy tak dużych wartościach koszty energetyczne są ogromne. To co wymaga 10% dodatkowego zasilania, to zupełnie inne wartości niż 10% niezbędnych do taktowania niskich wartości. Ile więc to jest te parę % przy takim taktowaniu. Według mnie jest to liczba między 2 a 4%. Tak więc obniżenie poboru prądu o 10% spowoduje niewielki spadek taktowania w okolicach 2-4%. 10,28 - 4% = 9,87 Tflops.

I teraz przechodzimy do omówienia właściwej kwestii o której napisałem w przedmowie. Jak to wpływa na chłodzenie. W przyszłej generacji wśród trzech graczy Xbox One, PC & Playstation? każda platforma będzie posiadała zupełnie inne rozwiązania.

Xbox: Zmienny pobór prądu i temperatury ale stałe taktowanie.

PC: Zmienny pobór prądu, temperatury i taktowanie.

Playstation: Zmienne taktowanie ale stały pobór prądu i temperatury.

Jak widać Playstation w tym gronie mocno się wyróżnia, ale i też stoi chyba przed największym wyzwaniem jeśli chodzi o swój projekt chłodzący. Jest to całkowicie inna koncepcja niż w PC. Tam karty graficzne mają standardowe taktowanie i jej wartość rośnie aż dojdzie do bezpiecznego napięcia i temperatury. W przypadku PS5 mamy całkowite odwrócenie sytuacji gdzie zarówno taktowanie jak i pobór prądu jest zawsze na maksymalnym poziomie. Cuda na kiju :) Wynika to z filozofii w której Sony chce już na starcie ustawić poziom hałasu konsoli i jego maksymalne zapotrzebowanie na energię. Mogliby to osiągnąć stosując takie patenty jak ten który rzekomo jest od Sony ale już został zdjęty z obiegu. Rozwiązanie zacne ale ciekawe czy prawdziwe. W owym rozwiązaniu wyróżnia się chłodzenie które styka się przez płytę PCB bezpośrednio z APU co w obecnej chwili nikt jeszcze nie stosuje. Taki patent pozwala chłodzić GPU z dwóch stron.

Tutaj z kolei mamy potencjalną wizualizację jak rozwiązano i jak działa chłodzenie w devkicie. Co przyznam szczerze ma ręce i nogi.

A co powiedział Mark Cerny podczas ostatniej konferencji na temach chłodzenia w PS5 możecie przeczytać poniżej. Jeśli ktoś się zastanowi o czym on mówi to zrozumie że jest to całkowicie inne podejście do tematu i zmienia postrzeganie pewnych rzeczy jak i zwiększa wiedzę w temacie. Moje tłumaczenie autorskie. Mój poziom angielskiego to samouk bez szkoły :)

Pobór energii zależy od gry i tak np. grając w God of War wiedziałem, że jest on wysoki z powodu głośności systemu chłodzącego. Jednak nie zależy on wyłącznie od silnika gry i jego jakości ale też od tego co jest wyświetlane i w jaki sposób. Może to wydawać się sprzeczne ze sobą ale wyświetlanie grafiki z zagęszczoną geometrią zazwyczaj pobiera mniej energii niż z prostą. Dlatego podejrzewam włączanie widoku mapy w grze Horizon tak mocno rozgrzewało PS4 Pro. ( przyp. autora: I tu się wtrącę, sam byłem w szoku i nie jest to chyba jedyna gra z takim problemem, kiedy wydaje się że włączenie i przejście do menu z mapą powoduje dalsze wycie konsoli. Co wydawałoby się nam, powinno ją na chwilę uspokoić). Projektowanie konsoli w obecnej generacji polegało na tym, że próbowaliśmy przewidzieć jaki będzie maksymalny pobór prądu przez cały cykl życia konsoli. Tzn. wyobrazić sobie najbardziej wymagającą scenę w konkretnej grze i tak przygotować chłodzenie aby temu sprostało. Jeśli zrobilibyśmy to dobrze system pracował by cicho, jeśli źle granie będzie głośne i  konsola mogłaby się przegrzewać, a nawet wyłączyć gdybyśmy niedoszacowali pobór energii. Pod tym względem PS5 jest dla nas wyzwaniem ponieważ 256 bitowe instrukcje wspierane przez CPU wymagają dużego poboru energii. Są świetne tu i tam, ale przypuszczalnie tylko w minimalnym stopniu wykorzystywane. Jeśli byłyby przez procesor wykorzystywane w większym stopniu musielibyśmy obniżyć taktowanie procesora albo znacząco powiększyć chłodzenie i moc zasilacza. Po konsultacjach postanowiliśmy więc podążyć całkowicie inną ścieżką. Zastosowaliśmy strategię zmiennej częstotliwości, która wprowadza CPU i GPU w tryb nieustającego przyśpieszenia. Zapewniliśmy konsoli wystarczająco energii elektrycznej i przyśpieszyliśmy CPU i GPU do momentu w którym osiągnęły one maksymalne możliwości układu chłodzącego. Jest to całkowicie inny paradygmat w przeciwieństwie do ciągłego utrzymywania taktowania na tym samym poziomie i pozwolenie na regulowanie go poborem energii zależnym od zmiennego obciążenia. Następnie poradziliśmy sobie z inżynieryjnym wyzwaniem opracowania wysokowydajnego, opłacalnego systemu chłodzenia opracowanego dla tak szczególnego zapotrzebowania. Dzięki temu staje się ono dla nas mniejszym problemem, ponieważ nie ma już niewiadomych. Nie musimy zgadywać ile energii będzie potrzebowała konsola w najgorszym momencie gry. Z jak dużą szybkością może więc pracować CPU i GPU z taką strategią? Najprostszym wyjściem byłoby przyjrzenie się temperaturze układu krzemowego i na tej podstawie dostosować częstotliwość pracy. Ale to nie zadziała jeśli chcąc zapewnić odpowiednie standardy Playstation układ nie będzie mógł pracować wolniej znajdując się w gorącym pokoju. Zamiast więc patrzeć na temperaturę patrzymy na aktywność GPU i CPU i na tej podstawie ustawiamy taktowanie. Czyni to wszystko bardziej spójnym i powtarzalnym. Użyliśmy też funkcji AMD Smart Shift która wykorzystuje nieużytkowany przydział energii CPU aby wykorzystać ją do wyświetlenia kilku dodatkowych pikseli przez GPU. Zalety takiego rozwiązania są bardzo duże. Ustawienie 2 Ghz na GPU metodą stałej częstotliwości było nieosiągalnym celem. W tym nowym paradygmacie byliśmy w stanie osiągnąć jeszcze wyższy wynik jednak musieliśmy zablokować taktowanie na 2,23 Ghz aby cały układ logiczny działał prawidłowo. Oczekujemy że GPU będzie pracował z tą częstotliwością lub blisko niej. W przypadku CPU mieliśmy ból głowy aby pracował z częstotliwością 3 Ghz ale dzięki nowej metodzie jest w stanie pracować z taktowaniem 3,5 Ghz spędzając większość czasu z takim taktowaniem. Nie oznacza to jednak, że wszystkie gry będą pracowały z takimi maksymalnymi częstotliwościami. Jeśli dojdzie do takiego najgorszego scenariusza konsola będzie pracować z niższymi zegarami, ale niewiele niższymi. Jeśli obniżymy pobór prądu o 10% zegary obniżą się o kilka procent. Spodziewam się więc, że ewentualny downckloking będzie niewielki. Wszystkie te zmiany w naszym podejściu do zmiennej częstotliwości przyniosą znaczne korzyści graczom Playstation.

Dalej są pewne dziury po których chciało by się podejść do Cerny'ego i zapytać - "słuchaj powiedziałeś że... ale czy oznacza to że..." :). Np. w jego przemowie jest mowa tylko o przekazywaniu mocy z CPU na GPU ale według samej technologii działa to w dwie strony. I kiedy Mark wspomina że nie każda gra będzie działała na maksymalnych taktowaniach nigdzie nie jest powiedziane że o 10% spadnie pobór prądu tylko dla samego GPU. APU to połączenie CPU z GPU w jednym układzie krzemowym, i to cały układ otrzyma mniej energii. Dlaczego niby cała energia z tych 10% miałaby być odebrana tylko dla GPU? Prawda? Pokazuje to też dlaczego Microsoft ma tak niskie taktowanie GPU. Skoro dojście do 2 Ghz przy stałej częstotliwości było celem nieosiągalnym to 1825 wydaje się wartością nominalną przy której taki sposób działa odpowiednio dobrze. Można zapomnieć o cudach na kiju typu - "Microsoft też zaraz podkręci i będzie 13 Tflops". Smart Shift ma sens kiedy działa w laptopach gdzie mamy ograniczony budżet energetyczny tak samo jak w PS5. I mając już te dane wyłożone na tacy widać jak bezsensowna jest teoria o 9,2 Tflops na szybko podkręconym do 10,28 Tflops. Takie rzeczy nie projektuje się i nie wprowadza z dnia na dzień. Łatwiej było by dodać jeden block CU tak aby miał ich 40. Wtedy z tym samym taktowaniem karta miałaby 10,24 Tflops. Ale tu pojawia się zonk. Pierwsze przecieki które wypłynęły pokazują pewną niejasność. Z ich zapowiedzi wcale nie wynika, że PS5 miał mieć 9,2 Tflops, a 8,3 Tflops z procesorem taktowanym 3,2 Ghz. I tu wszystko by się zgadzało. Jest to wartość niemal identyczna jak w przypadku GPU Xboxa bo... - "Osiągnięcie 2 Ghz na starym paradygmacie było celem nieosiągalnym." Ale jak to przecież osiągnęli 3,2 Ghz to jak 3 Ghz miało by niby być problemem? Moim zdaniem jeśli wziąć wszystkie informacje i zebrać je do kupy wyglądało to następująco:

Pierwsze przecieki sugerowałyby, że konsola na tamtym etapie projektowania miała 3,2 Ghz CPU z 8,3 Tflops GPU (1,8 GHz zamiast 2). Sony jednak zauważyło że projekt jeszcze można poprawić. Zmieniono koncepcję stałej częstotliwości na zmienną i tym sposobem z 8,3 Tflops doszliśmy do 10,28. I nie doszukiwałbym się tu jakichś szpiegowskich teorii o tym kto co kiedy w ostatniej chwili na podstawie czego podkręcił. Obaj producenci zrobili to samo. Najmocniejszą konsolę na podstawie kosztów i założonych koncepcji. Sony po prostu zastosowało całkowicie inne podejście niż Microsoft. Jeśli w jakimś momencie stwierdzono, że 9,2 Tflops to za mało i da się zrobić 10,28 to głupotą było by tego nie zrobić. Bo zawsze chodzi o maksymalne wykorzystanie dostępnych środków a nie zakładanie, że może wystarczy. Kluczem zawsze jest osiągnięcie złotego środka. Moim zdaniem tym złotym środkiem nie była jednak wydajność na podstawie założonych koncepcji ale... CENA. Nie ma żadnej możliwości aby przy tak dużej różnicy w CU obaj producenci zakładali ten sam pułap cenowy.

Poniżej jeszcze prezentacja technologii AMD Smart Shift:

I teraz mała ciekawostka. Pewnie wszyscy zastanawiają się co to za grafika prezentująca bloga :)

Radeon Pro SSG to karta graficzna z procesorem Vega 64, 16 gigabajtami pamięci HBM2 oraz 2 terabajtami pamięci półprzewodnikowej (SSD dostarczone przez Samsunga) podłączonej bezpośrednio do GPU. Dzięki charakterystycznemu dla architektury Vega kontrolerowi pamięci zamontowana na karcie pamięć półprzewodnikowa może być potraktowana jako pamięć GPU. Dzięki wirtualnemu adresowaniu i wymienianiu stron pomiędzy szybką pulą pamięci HBM2 a wolniejszą pulą pamięci NAND oprogramowanie może traktować Radeona Pro SSG jak kartę z ponad 2 terabajtami własnego RAM-u.

Radeon Pro SSG jest dzięki temu idealnym narzędziem do pracy z aplikacjami Adobe Effects, Autodesk Maya i Blender, jak i do obróbki wideo 8K.

Cena: 21 400 zł :)

Przepraszam za błędy, które przy takiej wielkości bloga są nieuniknione. Moja redakcja składa się z 1 osoby. Dziękować mogę jedynie redaktorowi który poprawia jeszcze moje błędy przed puszczeniem bloga na główną. Tak, ślepy nie jestem, widzę i dziękuję :)

END

Oceń bloga:
13

Komentarze (52)

SORTUJ OD: Najnowszych / Najstarszych / Popularnych

cropper