AMD Compute Units vs Nvidia CUDA Cores: Vad är skillnaden?

AMD Compute Units vs Nvidia CUDA Cores: Vad är skillnaden?

Om du har följt Nvidia och AMD vet du förmodligen om specifikationerna för deras GPU: er som båda dessa företag gillar att använda. Till exempel gillar Nvidia att betona CUDA -kärnvärden för att skilja sitt erbjudande från AMDs kort, medan AMD gör detsamma med sina beräkningsenheter.





Men vad betyder dessa termer egentligen? Är en CUDA -kärna samma sak som en beräkningsenhet? Om inte, vad är då skillnaden?





iphone 12 pro max vs iphone 12

Låt oss svara på dessa frågor och se vad som skiljer en AMD GPU från en Nvidia.





Allmän arkitektur för en GPU

Alla GPU: er, från AMD, Nvidia eller Intel, fungerar på samma sätt i allmänhet. De har samma nyckelkomponenter och den övergripande layouten för dessa komponenter är liknande på en högre nivå.

Så, från ett top-down-perspektiv, är alla GPU: er desamma.



När vi tittar på de specifika, proprietära komponenterna som varje tillverkare packar in i sin GPU börjar skillnaderna dyka upp. Till exempel bygger Nvidia Tensor -kärnor i sina GPU: er, medan AMD -GPU: er inte har Tensor -kärnor.

På samma sätt använder AMD komponenter som Infinity Cache, som Nvidia GPU inte har.





Så för att förstå skillnaden mellan beräkningsenheter (CU) och CUDA -kärnor måste vi först titta på den övergripande arkitekturen för en GPU. När vi väl kan förstå arkitekturen och se hur en GPU fungerar kan vi tydligt se skillnaden mellan beräkningsenheter och CUDA -kärnor.

Hur fungerar en GPU?

Det första du behöver förstå är att en GPU behandlar tusentals eller till och med miljoner instruktioner samtidigt. Därför behöver en GPU massor av små, mycket parallella kärnor för att hantera dessa instruktioner.





Dessa små GPU -kärnor skiljer sig från stora CPU -kärnor som behandlar en komplex instruktion per kärna åt gången.

Till exempel har en Nvidia RTX 3090 10496 CUDA -kärnor. Å andra sidan har den högsta AMD Threadripper 3970X bara 64 kärnor.

Så vi kan inte jämföra GPU -kärnor med CPU -kärnor. Det finns ganska många skillnader mellan en CPU och GPU eftersom ingenjörerna har utformat dem för att utföra olika uppgifter.

Till skillnad från en genomsnittlig CPU är dessutom alla GPU -kärnor arrangerade i kluster eller grupper.

Slutligen har ett kluster av kärnor på en GPU andra hårdvarukomponenter som texturbearbetningskärnor, flytande punkter och cacheminne

att hjälpa till att bearbeta miljontals instruktioner samtidigt. Denna parallellitet definierar arkitekturen för en GPU. Från att ladda en instruktion till att bearbeta den, gör en GPU allt enligt principerna för parallellbehandling.

  • Först får GPU: n en instruktion att bearbeta från en kö med instruktioner. Dessa instruktioner är nästan alltid överväldigande vektorrelaterade.
  • För att lösa dessa instruktioner skickar en trådschemaläggare dem vidare till enskilda kärnkluster för bearbetning.
  • Efter att ha tagit emot instruktionerna tilldelar en inbyggd schemaläggare för kärnkluster instruktionerna till kärnor eller bearbetningselement för bearbetning.
  • Slutligen behandlar olika kärnkluster olika instruktioner parallellt och resultaten visas på skärmen. All grafik som du ser på skärmen, till exempel ett videospel, är bara en samling av miljontals bearbetade vektorer.

Kort sagt, en GPU har tusentals bearbetningselement som vi kallar kärnor arrangerade i kluster. Schemaläggare tilldelar dessa kluster arbete för att uppnå parallellitet.

Vad är beräkningsenheter?

Som framgår av föregående avsnitt har varje GPU kluster av kärnor som innehåller processelement. AMD kallar dessa kärnkluster för beräkningsenheter.

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

Beräkningsenheter är en samling bearbetningsresurser som parallella aritmetiska och logiska enheter (ALU: er), cacheminne, floating-point-enheter eller vektorprocessorer, register och lite minne för att lagra trådinformation.

För att hålla det enkelt annonserar AMD bara antalet beräkningsenheter i deras GPU: er och beskriver inte de underliggande komponenterna.

Så, när du ser antalet beräkningsenheter, tänk på dem som en grupp av bearbetningselement och alla relaterade komponenter.

jag har tråkigt vad jag kan göra på internet

Vad är CUDA -kärnor?

Där AMD gillar att hålla saker enkla med antalet beräkningsenheter, komplicerar Nvidia saker med hjälp av termer som CUDA -kärnor.

CUDA -kärnor är inte exakt kärnor. De är bara flytande enheter som Nvidia gillar att beteckna som kärnor för marknadsföringsändamål. Och, om du kommer ihåg, har kärnkluster många floating-point-enheter inbyggda. Dessa enheter utför vektorberäkningar och inget annat.

Så att kalla dem en kärna är ren marknadsföring.

Därför är en CUDA-kärna ett bearbetningselement som utför floating-point-operationer. Det kan finnas många CUDA -kärnor i ett enda kärnkluster.

Slutligen kallar Nvidia kärnkluster Strömmande multiprocessorer eller SM. SM motsvarar AMD Compute Units eftersom Compute Units själva är kärnkluster.

Vad är skillnaden mellan beräkningsenheter och CUDA -kärnor?

Huvudskillnaden mellan en beräkningsenhet och en CUDA -kärna är att den förstnämnda hänvisar till ett kärnkluster, och den senare hänvisar till ett behandlingselement.

För att förstå denna skillnad bättre, låt oss ta exemplet med en växellåda.

En växellåda är en enhet som består av flera växlar. Du kan tänka dig växellådan som en beräkningsenhet och de enskilda växlarna som flytande punkter i CUDA-kärnor.

Med andra ord, där beräkningsenheter är en samling komponenter, representerar CUDA -kärnor en specifik komponent inuti samlingen. Så beräkningsenheter och CUDA -kärnor är inte jämförbara.

Det är också därför som när AMD nämner antalet beräkningsenheter för sina grafikkort är de alltid ganska lägre jämfört med konkurrerande Nvidia -kort och deras CUDA -kärnantal. En mer gynnsam jämförelse skulle vara mellan antalet Streaming -multiprocessorer på Nvidia -kortet och antalet beräkningsenheter på AMD -kortet.

Relaterad: AMD 6700XT vs Nvidia RTX 3070: Vad är den bästa GPUn under $ 500?

CUDA -kärnor och beräkningsenheter är olika och inte jämförbara

Företag har för vana att använda förvirrande terminologi för att presentera sina produkter i bästa ljus. Detta förvirrar inte bara kunden, det gör det också svårt att hålla reda på de saker som är viktiga.

Så se till att du vet vad du ska leta efter när du letar efter en GPU. Att hålla sig långt borta från marknadsföringsjargong gör ditt beslut mycket bättre och mer stressfritt.

Dela med sig Dela med sig Tweet E-post Är NVIDIAs grafikkort i 30 -serien värda uppgraderingen?

Om du är en spelare kan du bli frestad att uppgradera ditt grafikkort till NVIDIAs 30 -serie. Men är det värt det?

Läs Nästa
Relaterade ämnen
  • Teknik förklaras
  • Grafikkort
  • Nvidia
  • AMD -processor
Om författaren Fawad Murtaza(47 artiklar publicerade)

Fawad är frilansskribent på heltid. Han älskar teknik och mat. När han inte äter eller skriver om Windows spelar han antingen tv -spel eller drömmer om att resa.

Mer från Fawad Murtaza

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera