Kiedy w firmie słyszymy, iż dany projekt nie zostanie ukończony w terminie, lub od projektantów co chwila otrzymujemy sygnały, iż ich sprzęt nie jest odpowiednio wydajny. To nastał moment albo na wymianę stacji roboczej lub aktualizację jej komponentów. W tym teście zajmiemy się drugim przypadkiem i zaprezentujemy, jak wydajna potrafi być nowoczesna karta graficzna GeForce RTX 4080 16GB Eagle OC, która domyślnie skierowana jest do klienta konsumenckiego w zastosowaniach profesjonalnych.
Firma NVIDIA w swojej ofercie ma kilka grup dedykowanych kart graficznych do różnych zastosowań. Na rynku typowo konsumenckim dostępne są modele NVIDIA GeForce RTX 4000, na rynek typowo profesjonalny przeznaczone są modele z linii NVIDIA RTX, a do najbardziej wymagających obliczeń związanych z uczeniem maszynowym, czy tworzeniem wirtualnych reprezentacji materialnych przedmiotów, wykorzystywane są stacje NVIDIA DGX, kosztujące już setki tysięcy złotych.
Z tych trzech grup, najbardziej przystępna cenowo jest rodzina kart NVIDIA GeForce RTX 4000, które nie mają tak wysokiej wydajności, jak dedykowane rozwiązania NVIDII, ale postaram się pokazać, iż zastosowanie choćby takiej w miarę podstawowej karty graficznej potrafi przyspieszyć proces projektowy, choćby wielokrotnie.
Metodologia
Porównamy jej wydajność szeregu profesjonalnych aplikacji wykorzystywanych na co dzień przez inżynierów i twórców. A by dodatkowo zobaczyć, jaka różnica występuje w wydajności w poszczególnych aplikacjach. To porównamy wydajność GeForce RTX 4080 16GB Eagle OC z procesorem Intel Core i9-13900K. Wszystkie testy wykonamy raz z włączoną akceleracją sprzętową, wykorzystującą układ graficzny, a raz bez tej akceleracji posiłkując się tylko wydajnością samego procesora Intel.
Platforma testowa
Karta Graficzna – GIGABYTE GeForce RTX 4080 16GB Eagle OC
Procesor – Intel Core i9 13900K
Płyta główna – Asus Strix Z690
Pamięć RAM – 32 GB DDR5 6000 Kingston Fury
Zasilacz – beQuiet 1200W Dark Power PRO 11
Chłodzenie CPU – beQuiet Pure Loop 360
Monitor – AOC U28G2G4R4
SSD – Patriot P400 PCIe 4.0 M.2 1TB x2
Jak pisałem na wstępie model konsumencki GIGABYTE GeForce RTX 4080 16GB Eagle OC, z definicji nie jest skierowany do profesjonalistów, ale producenci systemu już dawno zdali sobie sprawę, iż duża liczba inżynierów wykorzystuje do swojej pracy domowe komputery, a w nich ma typowo domowe karty graficzne, dlatego w większości przypadków dodali oni wsparcie dla tych układów, by można było w profesjonalnych aplikacjach wykorzystywać akcelerację sprzętową, którą zapewniają domowe układy graficzne.
Architektura Ada Lovelace w NVIDIA GeForce RTX 4080
Rodzina kart graficznych NVIDIA GeForce RTX 4000 opiera się na architekturze Ada Lovelace, która została ulepszona w porównaniu do poprzedniej generacji, czyli Ampere, wykorzystywanej w serii GeForce RTX 3000. Główną modyfikacją było dodanie znacznie więcej pamięci Cache L2, przebudowa bloków GPC, wprowadzenie jednostek Tensor 4. generacji oraz jednostek RT 3. generacji. Celem producenta było zwiększenie wydajności w śledzeniu promieni i usprawnienie techniki DLSS. Dokonano tu najważniejszych zmian, ponieważ DLSS 3 nie tylko upscaluje obraz, ale również zwielokrotnia ilość klatek animacji, jednocześnie eliminując bottleneck od strony procesora. DLSS 3 działa jednak tylko na układach Ada Lovelace, ponieważ wymaga nowych jednostek obliczeniowych zintegrowanych w Tensorach 4. generacji. Zastosowano również 5 nm litografię TSMC, co pozwoliło umieścić 2,5 razy więcej tranzystorów na zbliżonej powierzchni i uzyskać wyższe taktowanie. W porównaniu do poprzednika, możemy oczekiwać około 60-70% wzrostu wydajności w rasteryzacji, choćby 100% wzrostu w śledzeniu promieni oraz 100-400% wzrostu w DLSS.
Topowe modele poprzedniej generacji bazowały na różnych wariantach układu GA102. Natomiast NVIDIA GeForce RTX 4080 i GeForce RTX 4090 zostały zbudowane na zupełnie innych kawałkach krzemu. Rdzeń AD103 został okrojony o około 30 miliardów tranzystorów w porównaniu do AD102 zastosowanego w NVIDIA GeForce RTX 4090, zajmuje on też znacznie mniejszą powierzchnię, co znajduje odzwierciedlenie w specyfikacji technicznej i efektywności energetycznej. Serce GeForce RTX 4080 zawiera 9728 procesorów CUDA, 304 jednostki teksturujące, 112 jednostek renderujących, 82 jednostki RT oraz 328 jednostek Tensor. jeżeli spojrzymy tylko na statystyki, to recenzowana karta graficzna zbliżona jest do NVIDIA GeForce RTX 3090, a nie do GeForce RTX 3080.
Producent tym razem wyraźnie oddzielił obydwie serie, zostawiając więcej miejsca na potencjalnie możliwe NVIDIA GeForce RTX 4080 Ti/RTX 4090 Ti. NVIDIA GeForce RTX 4080 w porównaniu do GeForce RTX 3080 zyskała więcej pamięci, którą zainstalowano w ilości 16 GB GDDR6X, ale zarazem zwężono szynę podsystemu. Poprzednik dysponował 10 GB GDDR6X 320-bit albo 12 GB GDDR6X 384-bit
Testy w aplikacjach profesjonalnych
SolidWorks
Testy wykonaliśmy w aplikacji SolidWorks 2020, model użyty w tych testach to łazik NASA składający się 21 milionów wierzchołków. Zmierzyliśmy liczbę wyświetlanych klatek na sekundę w głównym oknie aplikacji z następującymi ustawieniami:
- Tryb wyświetlania shaded-with-edges.
- Z włączonym mapowaniem środowiskowym.
- Testy wykonaliśmy w rozdzielczości natywnej monitora 3860 × 2140 pikseli.
Średnia liczba wyświetlanych klatek na sekundę w oknie edycji SoliWorks 2020 to 30,7 dla GeForce RTX 4080 16GB Eagle OC oraz 2,4 klatki na sekundę dla procesora Intel Core i9-13900K. Jak łatwo zauważyć jest to ponad dziesięciokrotna różnica w wydajności pomiędzy akceleracją sprzętową, a wyświetlaniem viewportu, tylko przy użyciu jednostki centralnej.
Siemens NX CAD
NX CAD to jeden z popularniejszych programów CAD/ CAM, wspomagający pracę nad złożonymi projektami. Do testów wykorzystaliśmy model silnika z osprzętem, który składa się z około 8,5 miliona wierzchołków w trybie Studio Mode, z włączoną przezroczystością niektórych elementów.
Średnia liczba klatek na sekundę w tym trybie to zaledwie 22,7 dla GeForce RTX 4080 16 GB Eagle OC i zaledwie 2 klatki na sekundę dla Intel Core i9-13900K
3DExperience CATIA
To trzecie narzędzie projektowe, bardzo często wykorzystywane w procesie projektowania i wdrażania produktu do produkcji. Do sprawdzenia wydajności wykorzystaliśmy bazowy model samochodu, dostępny z biblioteki CATIA składał się on z 14,28 miliona wierzchołków. Wydajność mierzyliśmy w momencie manipulacji oknami, gdy na środku każdego z pól znajdował się nasz pojazd.
GeForce RTX 4080 16GB Eagle OC osiągnął płynność animacji na poziomie 93,8 klatki na sekundę, a posiłkując się tylko procesorem Intel Core i9-13900K otrzymaliśmy płynność manipulacji obiektem w oknie edycji na poziomie 11,2 kl./s.
OpenTect
Test ten opiera się na technikach renderowania używanych przez otwartoźródłową aplikację wizualizacyjną sejsmiczną OpendTect. Podobnie jak w przypadku obrazowania medycznego, takiego jak rezonans magnetyczny lub USG, geofizyczne badania generują obrazy przekrojów przez podziemne warstwy, które są wbudowane w trójwymiarową siatkę. Renderowanie objętościowe dostarcza dwuwymiarowej projekcji tej trójwymiarowej siatki w celu dalszej analizy i interpretacji. Oprócz renderowania objętościowego, test obejmuje również płaszczyzny inline i crossline (przekroje w płaszczyznach X i Y). Zestawy danych 3D używane w tym teście to rzeczywiste zestawy danych sejsmicznych znalezione na stronie https://wiki.seg.org/wiki/Open_data. Do testów użyliśmy danych dotyczących odcinka lini brzegowej Holandii o przekroju 950x450x462 skanów.
Testowany obraz mogliśmy analizować z prędkością 28,4 klatki na sekundę wykorzystując GeForce RTX 4080 16GB Eagle OC, a po przełączeniu się na procesor, osiągnęliśmy wynik kilka przekraczający jedną klatkę na sekundę, ponieważ bufor pamięci został przekroczony i procesor nie był w stanie wyświetlać płynniej obrazu.
Tuvok medical rendering
Test ten prezentuje wydajność kilku technik wizualizacji wolumetrycznej w medycynie. Pierwsza z nich to “renderowanie wycinkowe”, gdzie wiele wycinków 2D jest projekcyjnie składanych na ekranie. Druga technika to “promieniowanie – raycasting”, gdzie promienie są projekcyjnie składane przez wolumin, łącząc końcowy kolor piksela. Używane są dwie różne funkcje transferu: 1D, gdzie gęstość jest używana do wyszukiwania koloru każdego woksela, i 2D, gdzie gęstość i wielkość gradientu są używane do wyszukiwania koloru każdego woksela.
średnia liczba klatek na sekundę generowana przez GeForce RTX 4080 16GB Eagle OC w tym teście to 20,1. Niestety nie udało się uruchomić tego testu tylko na procesorze, każda próba wgrania modelu powodowała zawieszenie się aplikacji.
3DSMax
Do testów wydajności wykorzystaliśmy popularny model budynku wykorzystywany w wielu produkcjach filmowych, jak i w grach. Model składa się z 9 milionów wierzchołków i do pomiarów wydajności w czterech różnych oknach edycji użyliśmy paru trybów wyświetlania obrazów.
Testowany GeForce RTX 4080 16GB Eagle OC pozwolił na w miarę płynną pracę z oknami edycji ze średnią prędkością 35,3 klatki na sekundę, po przełączeniu się w tryb software’owy, wykorzystujący tylko procesor Intel Core i9-13900K wydajność spadła do zaledwie 4 klatek na sekundę i praca stała się wyjątkowo trudna.
Caffe LeNet MNIST
Trenowanie sieci neuronowych to aktualnie bardzo gorący temat, w tym teście postanowiłem sprawdzić, jak gwałtownie uda mi się wytrenować niewielki model AI wykorzystując do tego sieć LeNet, która jest znana z dobrych wyników w zadaniach klasyfikacji cyfr. My nauczymy nasz model rozpoznawać napisane odręcznie przez nas cyfry i litery.
Trenowanie modelu przy użyciu karty graficznej GeForce RTX 4080 16GB Eagle OC, zajęło łącznie 284 sekundy, w przypadku użycia procesora Intel Core i9-13900K czas ten wydłużył się do 1022 sekund.
Jednakże jak, podają sami twórcy modelu LeNet, ten model jest niewielki i różnice w szybkości trenowania sieci neuronowej, nie będą tak drastyczne, jak w przypadku dużych sieci ImageNet.
Stable Diffusion
Z konfigurowałem lokalnie model AI Stable Diffusion 2, i sprawdziłem jak gwałtownie model wykona operację wnioskowania i wygeneruje mi obraz, jaki chcę.
Zadaniem było pokazanie mi obrazu prostego prostokątnego okna na tle ściany z czerwonej cegły. By test był powtarzalny za każdym razem użyłem tego samego zapytania, tej samej liczby próbkowania i tego samego ziarna. Wnioskowane było o cztery obrazy w rozdzielczości 512×512 pikseli, próbkowaniem 100 prób.
Karta graficzna generowała obraz z szybkością 13,4 iteracji na sekundę. Proceosr Intel Core i9-13900K w tym teście generował zaledwie 3,4 iteracji na sekundę.
GeForce RTX 4080 16GB Eagle OC po godzinach.
Testowany model NVIDIA GeForce RTX 4080, poza zastosowaniami profesjonalnymi idealnie nadaje się do rozrywki. A unikatowe funkcje tego modelu pozwolą lepiej zatopić się w komputerowej rozgrywce.
NVIDIA, na rynku gier wideo jest prekursorem i jako pierwsza wprowadziła obsługę śledzenia promieni w grach. Zrobiła to w pierwszych kartach graficznych NVIDIA GeForce RTX 2000. Najnowsza seria NVIDIA GeForce RTX 4000 to już trzecia generacja kart graficznych z tym rozwiązaniem. Jak wspominałem na początku tego artykułu modele z tej serii otrzymały wydajne rdzenie RT trzeciej generacji, które w sposób znaczący wspomagają akcelerację obliczeń związanych ze śledzeniem promieni. Dzięki czemu stało się możliwe zaaplikowanie do gier zaawansowanych efektów śledzenia promieni. Najlepszym przykładem jest wydany przez Polskie studio CDProjekt RED, Cyberpunk 2077, który niedawno otrzymał aktualizację, poprawiającą mu oprawę graficzną o jeszcze bardziej zaawansowane efekty śledzenia promieni. Łatka otrzymała nazwę Overdrive, tak samo też nazywa się ten tryb w grze. Po jego włączeniu ulegają poprawie definicje odbić w powierzchniach lustrzanych, cienie otrzymują wszystkie adekwatności fizyczne, włącznie z przezroczystościami i transferem barwy z obiektu, pod którym rzucają cień. Na pierwszy rzut oka są to niewielkie różnice w porównaniu z podstawowym trybem śledzenia promieni, ale raz zauważone, będą nie do odzobaczenia.
Oczywiście ma to swoje odbicie w wydajności gry. Włączenie tego trybu jest zabójcze dla większości kart graficznych, choćby najwydajniejsze modele z poprzedniej generacji nie są w stanie utrzymać płynności na odpowiednio wysokim poziomie, by rozgrywka była płynna. Dopiero najnowsze karty graficzne NVIDIA GeForce RTX 4000, oferują funkcję DLSS3, która jest niedostępna na wcześniejszych modelach. Technika DLSS3 odpowiada za zwiększenie wydajności karty graficznej, poprzez użycie wytrenowanej sieci neuronowej do rekonstrukcji obrazu z niższej rozdzielczości do wyższej, dzięki czemu można uzyskać dodatkową wydajność nie tracąc nic z jakości obrazu. Co więcej, technika DLSS3, otrzymała jeszcze jedną dodatkową funkcję DLSS3 Frame Generation, jest to najnowsza funkcjonalność wchodząca w skład DLSS3 i jest ona niedostępna w poprzednich jego wersjach DLSS, zarówno w wersji 2.0, jak i starszych i technika ta odpowiada za dodatkowe generowanie klatek, na podstawie analizy poprzedniej klatki animacji przez sztuczną inteligencję i dodanie kolejnej, całkowicie wygenerowanej przez model AI i nieobciążającej karty graficznej w klasycznie rozumiany sposób. Aby jednak było to możliwe i by gracz nie odczuwał efektów wstawiania dodatkowych klatek animacji wykorzystywana pozostało technika NVIDIA G-Sync, która synchronizuje odświeżanie ekranu monitora z liczbą wyświetlanych klatek na sekundę oraz technika NVIDIA Reflex, która pomaga w zwalczaniu dodatkowego opóźnienia, które jest generowane poprzez DLSS3 Frame Generation.
Jak w takim razie przekłada się to na liczby. W przypadku Cyberpunka 2077, z włączonym trybem RT Ultra na GeForce RTX 4080 16GB Eagle OC możemy liczyć na średnio 49 kl./s w rozdzielczości 4K, z włączonym DLSS3, ale bez funkcji DLSS3 Frame Generation. Dopiero w trybie Overdrive włączyłem tę funkcję, ponieważ jest ona tam wręcz wymagana.
Włączając najbardziej wymagający tryb RT Overdrive otrzymujemy wydajność na poziomie 31 kl./s w rozdzielczości 4K z wykorzystaniem karty graficznej NVIDIA GeForce RTX 4080. Dopiero uruchomienie DLSS3 Frame Generation pozwala na przyjemną rozgrywkę ze średnią prędkością wyświetlanej animacji na poziomie 50 kl./s.
Podsumowanie
Testowana przeze mnie karta graficzna GIGABYTE GeForce RTX 4080 16GB Eagle OC, idealnie sprawdza się w zastosowaniach profesjonalnych, ponieważ pozwala zaoszczędzić czas, potrzebny na daną czynność. Już nie będziemy czekać na koniec projektu kilka dni, gdyż inżynier pisze nam, iż jego stacja robocza nie daje rady i by obrócić model w oknie edycji musi czekać kilka minut, tylko zrobi to od ręki, jeżeli ćwiczymy sieć neuronową, to wykorzystując choćby tak podstawową kartę graficzną, jak konsumencki model NVIDIA GeForce RTX 4080, przyspieszymy nasze działania o rząd wielkości. Co więcej, po pracy, będziemy mogli się oddać chwili relaksu z ulubioną grą i nie zastanawiać się, czy dany tytuł nam się uruchomi.