Jednostki obliczeniowe AMD a rdzenie Nvidia CUDA: jaka jest różnica?

Jednostki obliczeniowe AMD a rdzenie Nvidia CUDA: jaka jest różnica?

Jeśli śledzisz Nvidię i AMD, prawdopodobnie znasz specyfikacje ich procesorów graficznych, z których korzystają obie te firmy. Na przykład Nvidia lubi podkreślać liczbę rdzeni CUDA, aby odróżnić swoją ofertę od kart AMD, podczas gdy AMD robi to samo ze swoimi jednostkami obliczeniowymi.





Ale co właściwie oznaczają te terminy? Czy rdzeń CUDA to to samo, co jednostka obliczeniowa? Jeśli nie, to jaka jest różnica?





nie można wykonać żądania z powodu błędu programu

Odpowiedzmy na te pytania i zobaczmy, co odróżnia procesor graficzny AMD od procesora Nvidia.





Ogólna architektura GPU

Wszystkie procesory graficzne, czy to AMD, Nvidia, czy Intel, działają ogólnie w ten sam sposób. Mają te same kluczowe komponenty, a ogólny układ tych komponentów jest podobny na wyższym poziomie.

Tak więc z perspektywy odgórnej wszystkie procesory graficzne są takie same.



Kiedy przyjrzymy się konkretnym, zastrzeżonym komponentom, które każdy producent pakuje do swojego procesora graficznego, zaczynają się pojawiać różnice. Na przykład Nvidia wbudowuje rdzenie Tensor do swoich procesorów graficznych, podczas gdy procesory graficzne AMD nie mają rdzeni Tensor.

Podobnie AMD używa komponentów takich jak pamięć podręczna Infinity, której nie mają procesory graficzne Nvidia.





Aby więc zrozumieć różnicę między jednostkami obliczeniowymi (CU) a rdzeniami CUDA, musimy najpierw przyjrzeć się ogólnej architekturze GPU. Kiedy już zrozumiemy architekturę i zobaczymy, jak działa GPU, możemy wyraźnie zobaczyć różnicę między jednostkami obliczeniowymi a rdzeniami CUDA.

Jak działa GPU?

Pierwszą rzeczą, którą musisz zrozumieć, jest to, że procesor graficzny przetwarza jednocześnie tysiące, a nawet miliony instrukcji. Dlatego procesor graficzny potrzebuje wielu małych, wysoce równoległych rdzeni do obsługi tych instrukcji.





Te małe rdzenie GPU różnią się od dużych rdzeni procesora, które przetwarzają jednorazowo jedną złożoną instrukcję na rdzeń.

Na przykład Nvidia RTX 3090 ma 10496 rdzeni CUDA. Z drugiej strony topowy AMD Threadripper 3970X ma tylko 64 rdzenie.

Tak więc nie możemy porównywać rdzeni GPU z rdzeniami procesora. Jest ich całkiem sporo różnice między procesorem a GPU ponieważ inżynierowie zaprojektowali je do wykonywania różnych zadań.

Co więcej, w przeciwieństwie do przeciętnego procesora, wszystkie rdzenie GPU są ułożone w klastry lub grupy.

Wreszcie klaster rdzeni na GPU zawiera inne komponenty sprzętowe, takie jak rdzenie przetwarzania tekstur, jednostki zmiennoprzecinkowe i pamięci podręczne

aby pomóc przetwarzać miliony instrukcji jednocześnie. Ten paralelizm definiuje architekturę GPU. Od załadowania instrukcji do jej przetwarzania, GPU robi wszystko zgodnie z zasadami przetwarzania równoległego.

  • Najpierw GPU otrzymuje instrukcję do przetworzenia z kolejki instrukcji. Te instrukcje są prawie zawsze w przeważającej mierze związane z wektorami.
  • Następnie, aby rozwiązać te instrukcje, planista wątków przekazuje je do poszczególnych klastrów rdzeniowych w celu przetworzenia.
  • Po otrzymaniu instrukcji wbudowany harmonogram klastra rdzenia przypisuje instrukcje do rdzeni lub elementów przetwarzających w celu przetworzenia.
  • Wreszcie różne klastry rdzeniowe przetwarzają równolegle różne instrukcje, a wyniki są wyświetlane na ekranie. Tak więc cała grafika, którą widzisz na ekranie, na przykład gra wideo, to tylko zbiór milionów przetworzonych wektorów.

Krótko mówiąc, GPU ma tysiące elementów przetwarzających, które nazywamy rdzeniami ułożonymi w klastry. Harmonogramy przypisują pracę do tych klastrów, aby osiągnąć równoległość.

Czym są jednostki obliczeniowe?

Jak widać w poprzedniej sekcji, każdy GPU ma klastry rdzeni zawierające elementy przetwarzające. AMD nazywa te klastry rdzeniowe jednostkami obliczeniowymi.

www.youtube.com/watch?v=uu-3aEyesWQ&t=202s

Jednostki obliczeniowe to zbiór zasobów przetwarzania, takich jak równoległe jednostki arytmetyczne i logiczne (ALU), pamięci podręczne, jednostki zmiennoprzecinkowe lub procesory wektorowe, rejestry i część pamięci do przechowywania informacji o wątkach.

Aby to uprościć, AMD reklamuje tylko liczbę jednostek obliczeniowych swoich procesorów graficznych i nie wyszczególnia podstawowych komponentów.

Tak więc, ilekroć widzisz liczbę jednostek obliczeniowych, pomyśl o nich jako o grupie elementów przetwarzania i wszystkich powiązanych komponentów.

jak otrzymywać powiadomienia na youtube

Czym są rdzenie CUDA?

Tam, gdzie AMD lubi upraszczać liczbę jednostek obliczeniowych, Nvidia komplikuje sprawy, używając terminów takich jak rdzenie CUDA.

Rdzenie CUDA nie są dokładnie rdzeniami. To tylko jednostki zmiennoprzecinkowe, które Nvidia lubi nazywać rdzeniami w celach marketingowych. A jeśli pamiętasz, klastry rdzeniowe mają wiele wbudowanych jednostek zmiennoprzecinkowych. Jednostki te wykonują obliczenia wektorowe i nic więcej.

Tak więc nazywanie ich rdzeniem to czysty marketing.

Dlatego rdzeń CUDA jest elementem przetwarzającym, który wykonuje operacje zmiennoprzecinkowe. W jednym klastrze rdzeni może znajdować się wiele rdzeni CUDA.

Wreszcie Nvidia nazywa klastry rdzeniowe Multiprocesory strumieniowe lub SM. Moduły SM są odpowiednikami jednostek obliczeniowych AMD, ponieważ same jednostki obliczeniowe są klastrami podstawowymi.

Jaka jest różnica między jednostkami obliczeniowymi a rdzeniami CUDA?

Główna różnica między jednostką obliczeniową a rdzeniem CUDA polega na tym, że ta pierwsza odnosi się do klastra rdzeniowego, a druga do elementu przetwarzającego.

Aby lepiej zrozumieć tę różnicę, weźmy przykład skrzyni biegów.

Skrzynia biegów to zespół składający się z wielu biegów. Możesz myśleć o skrzyni biegów jako o jednostce obliczeniowej, a poszczególne koła zębate jako o zmiennoprzecinkowych jednostkach rdzeni CUDA.

Innymi słowy, gdzie jednostki obliczeniowe są zbiorem składników, rdzenie CUDA reprezentują określony składnik w kolekcji. Tak więc jednostki obliczeniowe i rdzenie CUDA nie są porównywalne.

Dlatego też, gdy AMD wspomina o liczbie jednostek obliczeniowych dla swoich procesorów graficznych, są one zawsze znacznie niższe w porównaniu z konkurencyjnymi kartami Nvidii i liczbą rdzeni CUDA. Bardziej korzystne byłoby porównanie liczby multiprocesorów strumieniowych na karcie Nvidia i liczby jednostek obliczeniowych karty AMD.

Związane z: AMD 6700XT kontra Nvidia RTX 3070: Jaka jest najlepsza karta graficzna poniżej 500 USD?

Rdzenie CUDA i jednostki obliczeniowe są różne i nieporównywalne

Firmy mają zwyczaj używania mylącej terminologii, aby zaprezentować swoje produkty w jak najlepszym świetle. To nie tylko dezorientuje klienta, ale także utrudnia śledzenie tego, co ma znaczenie.

Upewnij się więc, że wiesz, czego szukać, szukając GPU. Trzymanie się z dala od marketingowego żargonu sprawi, że Twoja decyzja będzie dużo lepsza i bardziej bezstresowa.

Udział Udział Ćwierkać E-mail Czy karty graficzne NVIDIA z serii 30 są warte aktualizacji?

Jeśli jesteś graczem, możesz ulec pokusie, aby zaktualizować swoją kartę graficzną do serii 30 firmy NVIDIA. Ale czy warto?

Czytaj dalej
Powiązane tematy
  • Wyjaśnienie technologii
  • Karta graficzna
  • Nvidia
  • Procesor AMD
O autorze Fawad Murtaza(47 opublikowanych artykułów)

Fawad jest pełnoetatowym niezależnym pisarzem. Kocha technologię i jedzenie. Kiedy nie je ani nie pisze o Windowsie, albo gra w gry wideo, albo marzy o podróżach.

Więcej od Fawada Murtaza

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować