Najprostsze narzędzia monitorujące działanie kart graficznych pozwalają po prostu sprawdzić jej obciążenie, bez podziału na poszczególne zadania. Czyli widzimy, że podczas rozgrywki w daną grę GPU jest obciążone w 80% - ale ile z tego przypada na operacje 3D, ile na rdzenie odpowiedzialne z ray-tracing, a ile na rdzenie Tensor odpowiedzialne za obliczenia związane z AI - to już owiewa mgła tajemnicy.
Podczas dzisiejszych rozważań skupimy się na kartach NVIDIA GeForce RTX serii 5000. Aktualnie użytkuję wydajnościowego potwora, a konkretnie GeForce RTX 5050, więc to była doskonała okazja, aby właśnie na nim przeprowadzić testy.
To, że NVIDIA nie udostępnia żadnych (lub prawie żadnych) narzędzi do sprawdzenia obciążenia rdzeni Tensor i RT powoduje uzasadnioną irytację użytkowników, ale Jensen ze spółką mają to po prostu w nosie. Temat zainteresował mnie na tyle, że postanowiłem sprawdzić, czy faktycznie nie ma żadnej metody by sprawdzić obciążenie rdzeni Tensor w kartach GeForce RTX. A po co? Choćby żeby sprawdzić jak bardzo te rdzenie są obciążane podczas wykorzystania różnych modeli DLSS - w tym ponoć bardzo mocno obciążające tensory najnowsze modele M i L.
Jak sprawdzić obciążenie karty graficznej w innych zastosowaniach niż generowanie grafiki 3D
Na początek udałem się do najbardziej oczywistego miejsca, czyli do Menedżera Zadań Windows, a konkretnie zakładki Wydajność. Po wyborze procesora graficznego możemy tam monitorować różne aspekty działania karty, wybierając konkretne zakładki, czyli np. "3D", "Copy" lub "Compute". Mój sprytny plan polegał na tym, by wykorzystać właśnie zakładkę "Compute", czyli pokazującą obliczenia na karcie graficznej poza generowaniem grafiki 3D. Wiem, że ta zakładka działa, bowiem na karcie Radeon mogę na przykład sprawdzić, kiedy zajmuje się ona obliczeniami choćby podczas finalnego renderowania wideo w DaVinci Resolve.
Okazało się, że mój plan nie był tak chytry jak myślałem, bowiem w przypadku GeForce RTX 5000 tej zakładki po prostu… nie ma. Doskonale pamiętam, że kiedy ponad rok temu korzystałem z karty GeForce RTX 4090 to zdecydowanie tam była, chociaż mogła nosić inną nazwę - o ile dobrze pamiętam, po prostu "CUDA".

Ok, więc jakie silniki można monitorować w Windows w przypadku GeForce RTX 5000?
-
3D - oczywiście renderowanie scen 3D, czyli klasyczne obciążenie potoków shaderów i rasteryzacji.
-
Copy - transfer danych pomiędzy VRAM, a RAM (także pomiędzy różnymi GPU)
-
VR - zadania związane z przestrzennym renderowaniem VR
-
OFA - Optical Flow Accelerator, czyli silnik przepływu optycznego między klatkami (FG). Problem w tym, że absolutnie nic nie pokazuje podczas używania DLSS FG - prawdopodobnie może obsługiwać tylko Automatic Super Resolution (Auto SR) wbudowane w Windows, albo funkcja czeka na wprowadzenie API Windows AI Image Scaling
-
Video Encode - sprzętowy enkoder w GPU (np. NVENC, AMD VCE/VCN, Intel Quick Sync). Dzięki temu możemy obserwować kodowanie wideo za pomocą takich kodeków jak HEVC (H.265), czy AV1.
-
Video Decode - Sprzętowy dekoder wideo w GPU.
-
Security - silnik związany z funkcjami bezpieczeństwa (DRM) na GPU
-
JPEG Decode - sprzętowy dekoder JPEG w GPU
Sytuacja jest kuriozalna, bowiem możemy monitorować pięć różnych silników kopiujących, operacje związane z VR, a nawet sprzętowe dekodowanie obrazów JPEG, a nie mamy możliwości przyjrzenia się pracy rdzeni RT i Tensor. Czy z pomocą przyjdzie jakiś inne oprogramowanie?
A może skorzystać ze specjalistycznych aplikacji?
Jeśli mowa o takich popularnych aplikacjach jak MSI Afterburner, czy CapFrameX, to jak na razie nie znajdziemy tam żadnych funkcji do monitorowania obciążenia rdzeni Tensor, ani RT.

W desperacji sprawdzałem najróżniejsze programy do monitorowania sprzętu, ale opcji przydatnej do sprawdzenia obciążenia rdzeni RT i Tensor nigdzie nie znalazłem.
A może by tak wyłączyć HAGS?
"Planowanie przyspieszanego sprzętowo procesora GPU" (Hardware Accelerated GPU Scheduling) to funkcja Windows, która przenosi kolejkowanie zadań z CPU bezpośrednio na kartę graficzną. Zazwyczaj CPU zarządza kolejką zadań dla GPU, co powoduje opóźnienia i obciążenie procesora. HAGS pozwala GPU samodzielnie planować swoje zadania, co skraca czas dostępu i poprawia responsywność systemu. Generalnie HAGS powinno poprawiać działanie gier, ale w praktyce różnie to bywa.

Ponoć wyłączenie HAGS powinno przywrócić usunięte zakładki w Menedżerze Wydajności i… faktycznie tak się stało. W przypadku karty graficznej pojawiły się opcje monitorowania "CUDA", "Compute_0", "Compute_1" i "Graphics_1". Przecież któraś z nich musi pokazywać obciążenie tensorów lub rdzeni RT, prawda? Otóż… nie.

Niezależnie od tego czy testowałem Cyberpunk 2077 z włączonym ray-tracingiem/DLSS/FG, czy bez, obciążenie wskaźników zawsze pokazywało takie same wartości - maks na "Graphics_1" i od 10 do 20% "Compute_1". Wskaźnik "OFA" również ani drgnął. Lipa.
Jak monitorować rdzenie RT i Tensor?
Na ten moment nie udało mi się znaleźć żadnego prostego sposobu na monitorowanie obciążenia rdzeni Tensor i RT. Jeśli jakieś znacie, nie omieszkajcie podzielić się nim w komentarzach.
Żeby sytuacja się zmieniła i nerdzi mogli komfortowo sprawdzać obciążenie rdzeni Tensor i RT, to NVIDIA musiałaby eksportować te metryki do publicznego API / WDDM. Czy i kiedy się to stanie - tego nie wiadomo. Szkoda, bo dzięki temu moglibyśmy testować sprzęt czy nowe modele DLSS znacznie bardziej precyzyjnie.
Owszem, można sięgnąć po specjalistyczne narzędzia jak NVIDIA-SMI (Tensor Core active time i SM usage), ale to po prostu komenda działająca w trybie tekstowym - nie wyświetli nam eleganckiego okna z podglądem obciążenia rdzeni Tensor, czy RT.
Gwoli wyjaśnienia, nic mi nie wiadomo, aby opcja choćby podglądu obciążenia rdzeni RT/AI była dostępna na dedykowanych kartach graficznych Radeon - są tu takie bardziej specjalistyczne narzędzia jak Radeon GPU Profiler, czy Radeon Raytracing Analyzer, ale prostej nakładki do monitorowania tych wybranych rdzeni również nie ma.
Spodobało Ci się? Podziel się ze znajomymi!

Pokaż / Dodaj komentarze do:
Jak sprawdzić obciążenie tensorów w kartach GeForce RTX? Niby nie, ale szukam sposobu