Pomiar opóźnienia pamięci GPU: sprawdzamy wydajność naszych kart graficznych

lubiegrac news Pomiar opóźnienia pamięci GPU: sprawdzamy wydajność naszych kart graficznych
Pomiar opóźnienia pamięci GPU: sprawdzamy wydajność naszych kart graficznych



MartaM | 20 kwietnia 2021, 10:00

Czy można zmierzyć wydajność karty graficznej? Firma Chips and Cheese śpieszy z odpowiedzią porównując najbardziej popularne procesory graficzne.

Przyzwyczailiśmy się mierzyć pamięć podręczną procesora i opóźnienia pamięci, więc dlaczego nie zrobić tego samego z procesorami graficznymi? Podobnie jak procesory, karty graficzne ewoluowały, aby wykorzystywać wielopoziomowe hierarchie pamięci podręcznej w celu wypełnienia rosnącej luki między wydajnością obliczeniową a pamięcią. Podobnie jak w przypadku procesorów, możemy użyć testów porównawczych (w OpenCL), aby zmierzyć pamięć podręczną i opóźnienie pamięci.

Bez zbędnych ceregieli witamy w pierwszym z trwających testów opóźnień pamięci GPU firmy Chips and Cheese.

Ampere i RDNA 2

Pamięć podręczna RDNA 2 jest szybka i jest jej dużo. W porównaniu do Ampere opóźnienie jest niskie na wszystkich poziomach. Infinity Cache dodaje tylko około 20 ns po trafieniu L2 i ma mniejsze opóźnienie niż L2 Ampera. O dziwo, opóźnienie VRAM w RDNA 2 jest mniej więcej takie samo jak w Amperach, mimo że RDNA 2 sprawdza jeszcze dwa poziomy pamięci podręcznej w drodze do pamięci.

Natomiast Nvidia trzyma się bardziej konwencjonalnego podsystemu pamięci GPU z tylko dwoma poziomami pamięci podręcznej i wysokim opóźnieniem L2. Przejście z prywatnego SM-L1 Ampere do L2 zajmuje ponad 100 ns. RDNA L2 jest ~ 66 ns od L0, nawet z pamięcią podręczną L1 między nimi. Poruszanie się po masywnej matrycy GA102 wydaje się zajmować wiele cykli.

Może to wyjaśniać doskonałą wydajność AMD przy niższych rozdzielczościach. Pamięci podręczne L2 i L3 o niskim opóźnieniu RDNA 2 mogą dać mu przewagę przy mniejszych obciążeniach, gdzie zajętość jest zbyt mała, aby ukryć opóźnienia. W porównaniu chipy Ampere firmy Nvidia wymagają większej równoległości, aby zabłysnąć.

CPU kontra GPU

Procesory są zaprojektowane tak, aby jak najszybciej uruchamiały obciążenia szeregowe. Procesory graficzne natomiast, są zbudowane do obsługi masowo równoległych obciążeń. Ponieważ test jest napisany w OpenCL, możemy go uruchomić bez modyfikacji na procesorze.

Opóźnienia pamięci podręcznej i DRAM firmy Haswell są tak niskie, że musieliśmy je określić na skali logarytmicznej. W przeciwnym razie wyglądałoby to jak płaska linia znacznie poniżej danych liczbowych RDNA 2. I7-4770 z DDR3-1600 CL9 może wykonać obieg pamięci w 63 ns, podczas gdy 6900 XT z GDDR6 potrzebuje 226 ns, aby zrobić to samo.

Jednak z innej perspektywy samo opóźnienie GDDR6 nie jest takie złe. CPU lub GPU musi sprawdzić pamięć podręczną (i zobaczyć błąd) przed przejściem do pamięci. Możemy więc uzyskać bardziej „surowy” obraz opóźnienia pamięci, patrząc po prostu, ile czasu zajmie zajrzenie do pamięci po trafieniu do pamięci podręcznej ostatniego poziomu. Różnica między trafieniem i brakiem ostatniego poziomu w pamięci podręcznej wynosi 53,42 ns na Haswell i 123,2 ns na RDNA2.

Jako ciekawy eksperyment myślowy, hipotetyczny Haswell z kontrolerami pamięci GDDR6 umieszczonymi jak najbliżej L3 może uzyskać około 133 ns. To dużo jak na procesor klienta, ale nie tak dużo więcej niż opóźnienie pamięci serwera.

Zobacz także: Recenzja realme 8 - Lepszego smartfona w tej cenie obecnie nie znajdziecie!

Strasze modele NVIDIA

Maxwell i Pascal są w dużej mierze podobne, a GTX 980 Ti prawdopodobnie cierpi z powodu większej matrycy i niższych zegarów. Dane po prostu potrzebują więcej czasu, aby obejść chip. Nvidia nie pozwala OpenCL używać pamięci podręcznej tekstur L1 w żadnej z architektur, więc niestety pierwszą rzeczą, którą widzimy, jest opóźnienie L2.

Turing zaczyna bardziej przypominać Ampere. Istnieje stosunkowo małe opóźnienie L1, następnie L2 i wreszcie pamięć. Opóźnienie L2 wygląda mniej więcej tak, jak w Pascalu. Opóźnienie pamięci surowej wygląda podobnie do 32 MB.

Porównanie generacji procesorów graficznych AMD

Ciężko powiedzieć, dlaczego ​​opóźnienie Terascale jest mniejsze poniżej 32 KB. AMD twierdzi, że Terascale ma pamięć podręczną danych L1 o wielkości 8 KB, a więc wyniki się nie zgadzają. Test może trafiać w coś w rodzaju pamięci podręcznej ponownego użycia wierzchołków (ponieważ ładowanie pamięci kompiluje się do klauzul pobierania wierzchołków).

GCN i RDNA 2 wyglądają zgodnie z oczekiwaniami. Ciekawe jest to, że opóźnienie AMD na wszystkich poziomach zmniejsza się z upływem czasu.

Dla pełnego obrazu testu można obejrzeć wykresy, które dostępne są w źródle, w linku poniżej. 

Śledź nas na google news - Obserwuj to, co ważne w świecie gier!

źródło: https://chipsandcheese.com/2021/04/16/measuring-gpu-memory-latency/

Komentarze [0]:
Copyright © lubiegrac.pl.

Wszelkie Prawa Zastrzeżone.

Używamy informacji zapisanych za pomocą cookies i podobnych technologii m.in. w celach reklamowych i statystycznych oraz w celu dostosowania naszych serwisów do indywidualnych potrzeb użytkowników.

Korzystanie z serwisu oznacza akceptację regulaminu
Lubiegrac.pl

reklama

redakcja

regulamin

rss

SocialMedia

Partners