Procesory graficzne Nvidia przeszły długą drogę, nie tylko pod względem wydajności w grach, ale także w innych zastosowaniach, zwłaszcza w zakresie sztucznej inteligencji i uczenia maszynowego. Dwa główne czynniki odpowiedzialne za wydajność procesorów graficznych Nvidii to rdzenie CUDA i Tensor obecne w prawie każdym nowoczesnym procesorze graficznym Nvidia, jaki można kupić.
Ale co dokładnie robią te rdzenie, a jeśli oba są używane w aplikacjach sztucznej inteligencji i uczenia maszynowego, czym się różnią?
Czym są rdzenie CUDA i do czego służą?
CUDA oznacza Compute Unified Device Architecture, która niewiele wyjaśnia ich obecność w GPU. Rdzenie te zostały wprowadzone do oferty procesorów graficznych Nvidia w architekturze Maxwell z 2014 roku i specjalizują się w przetwarzaniu równoległym.
Pod względem funkcjonowania są dość podobne do rdzeni procesora, ale lepiej radzą sobie z niektórymi zadania, w tym skróty kryptograficzne, silniki fizyczne, projekty związane z nauką o danych, a nawet gry rozwój.
Chociaż już omówiliśmy jak rdzenie CUDA wpływają na wydajność komputera w grach, są równie pomocne w przetwarzaniu liczb. Podczas gdy nawet najpotężniejsze procesory mają dwucyfrowe rdzenie, procesory graficzne Nvidia są wyposażone w kilka tysięcy rdzeni CUDA, co czyni je znacznie szybszymi przy obciążeniach numerycznych. Dodatkowo, ponieważ wykonują te obliczenia równolegle, uzyskujesz znacznie większe prędkości dzięki rdzeniom CUDA.
Rdzenie CUDA są szybsze niż zwykłe rdzenie procesorów, jeśli chodzi o przetwarzanie liczb, ale nadal nie są idealnym rozwiązaniem. To dlatego, że nigdy nie miały być używane w ten sposób. Rdzenie CUDA zostały stworzone specjalnie do przetwarzania grafiki i zwiększenia wydajności procesorów graficznych Nvidia w grach.
Czym są rdzenie tensorowe i do czego służą?
Gdy procesory graficzne zaczęły być wykorzystywane do zadań związanych ze sztuczną inteligencją i uczeniem maszynowym, Nvidia wprowadziła rdzenie Tensor w architekturze Volta dla swoich procesorów graficznych w centrach danych począwszy od 2017 roku.
Jednak dopiero w architekturze Nvidia Turing (procesory graficzne z serii RTX 20) te rdzenie trafiły do konsumenckich procesorów graficznych. Pamiętać że chociaż karty z serii GTX 16 są również oparte na architekturze Turing, nie zawierają żadnego ray tracingu ani Tensor rdzenie.
Podczas gdy rdzenie CUDA były co najwyżej wystarczające do obciążeń obliczeniowych, rdzenie Tensor podniosły stawkę, będąc znacznie szybszymi. Podczas gdy rdzenie CUDA mogą wykonywać tylko jedną operację na cykl zegara, rdzenie Tensor mogą obsługiwać wiele operacji, co zapewnia im niesamowity wzrost wydajności. Zasadniczo wszystkie rdzenie Tensor zwiększają szybkość mnożenia macierzy.
Ten wzrost prędkości obliczeniowej odbywa się kosztem dokładności, ponieważ rdzenie CUDA są znacznie dokładniejsze. To powiedziawszy, jeśli chodzi o trenowanie modeli uczenia maszynowego, rdzenie Tensor są znacznie bardziej efektywne pod względem szybkości obliczeniowej i ogólnych kosztów; stąd utrata dokładności jest często pomijana.
Jak rdzenie Tensor i CUDA wpływają na wydajność GPU?
Jak zapewne już się domyślasz, podczas gdy rdzenie CUDA i Tensor mogą obsługiwać te same obciążenia, oba są wyspecjalizowanymi rdzeniami odpowiednio do renderowania grafiki i obciążeń numerycznych.
Oznacza to, że w zależności od użytkownika, do którego kierowany jest konkretny GPU, będzie on miał różną liczbę rdzeni. Na przykład, jeśli weźmiemy pod uwagę RTX 4090, najnowszą i najlepszą konsumencką kartę graficzną Nvidii do gier, otrzymasz znacznie więcej rdzeni CUDA niż rdzeni Tensor. Konkretnie 16 384 rdzeni CUDA do 512 rdzeni Tensor.
Dla porównania, procesor graficzny Nvidia L40 dla centrów danych, oparty na tej samej architekturze Ada Lovelace co RTX 4090, ma 18 176 rdzeni CUDA i 568 rdzeni Tensor. Może to nie wydawać się dużą różnicą, ale może znacząco wpłynąć na wydajność tych procesorów graficznych.
Jeśli chodzi o teoretyczną wydajność, L40 ma 90,52 TFlops wydajności FP16 i FP32, a także 1414 GFlops wydajności FP64. Jest to ogromny wzrost wydajności w porównaniu do 82,58 TFlopów w przypadku FP16 i FP32 RTX 4090 oraz 1290 GFlopów w przypadku FP64.
Jeśli nie jesteś dobrze zaznajomiony z numerycznymi wartościami wydajności GPU, powyższe liczby zmiennoprzecinkowe GPU Nvidia mogą nie znaczyć dla ciebie wiele. Jednak w skrócie pokazują, że L40 jest znacznie szybszy niż RTX 4090, jeśli chodzi o obliczenia numeryczne – te potrzebne do obciążeń roboczych opartych na sztucznej inteligencji i uczeniu maszynowym.
Poprawa wydajności staje się jeszcze bardziej imponująca, gdy weźmie się pod uwagę zużycie energii przez dwa procesory graficzne. RTX 4090 ma znamionowy TGP (nie mylić z TDP, jest niewielka różnica) 450 W, podczas gdy L40 ma tylko 300 W.
Oba te procesory graficzne będą działać w grach i dobrze trenować model uczenia maszynowego. Jednak RTX 4090 będzie lepszy w uruchamianiu gier, a L40 będzie lepszy w trenowaniu modeli uczenia maszynowego.
Rdzenie CUDA vs. Rdzenie tensorowe: co jest ważniejsze?
Oba rdzenie są równie ważne, niezależnie od tego, czy kupujesz kartę graficzną do gier, czy umieszczasz ją w szafie typu rack w centrum danych. Konsumentalne procesory graficzne Nvidii do gier wykorzystują wiele funkcji AI (w szczególności DLSS), a posiadanie rdzeni Tensor na pokładzie może się przydać.
Jeśli chodzi o procesory graficzne do centrów danych, rdzenie CUDA i Tensor i tak przez większość czasu i tak działają w tandemie, więc otrzymasz oba bez względu na wybrany procesor graficzny. Zamiast skupiać się na konkretnym typie rdzenia w GPU, powinieneś skupić się bardziej na tym, co robi karta graficzna jako całość i typie użytkownika, dla którego jest przeznaczona.
Rdzenie CUDA specjalizują się w obsłudze obciążeń graficznych, podczas gdy rdzenie Tensor lepiej radzą sobie z zadaniami numerycznymi. Działają razem i są do pewnego stopnia wymienne, ale zajmują się własnymi specjalizacjami, dlatego w ogóle istnieją.
Różne GPU specjalizują się w różnych aspektach. RTX 4090 z łatwością zmiażdży każdą grę, którą w nią rzucisz, podczas gdy RTX 4060 poradzi sobie tylko z grami w rozdzielczości 1080p. Jeśli nie korzystasz z GPU w grach i potrzebujesz go tylko do przetwarzania liczb lub trenowania sieci neuronowych, najlepszym wyborem będzie procesor graficzny z serii A do centrów danych, taki jak A100 lub nawet L40.
Twoje rdzenie GPU mają znaczenie
Więcej rdzeni GPU zapewni lepszą ogólną wydajność, ponieważ Twój GPU będzie bardziej wszechstronny i będzie miał dedykowane zasoby do obsługi różnych zadań. Jednak kupowanie na ślepo karty graficznej z największą liczbą rdzeni nie jest najlepszą decyzją. Poświęć chwilę, aby dokładnie rozważyć swój przypadek użycia, przyjrzyj się możliwościom GPU jako całości, a następnie dokonaj wyboru.