Hvis du har fulgt Nvidia og AMD, kender du sikkert til specifikationerne for deres GPU'er, som begge disse virksomheder kan lide at bruge. For eksempel fremhæver Nvidia gerne CUDA -kernetællinger for at differentiere sit tilbud fra AMDs kort, mens AMD gør det samme med sine Compute Units.
Men hvad betyder disse udtryk egentlig? Er en CUDA -kerne det samme som en computerenhed? Hvis ikke, hvad er så forskellen?
Lad os besvare disse spørgsmål og se, hvad der gør en AMD GPU anderledes end en Nvidia.
Generel arkitektur for en GPU
Alle GPU'er, uanset om de er fra AMD, Nvidia eller Intel, fungerer generelt på samme måde. De har de samme nøglekomponenter, og det overordnede layout af disse komponenter er ens på et højere niveau.
Så ovenfra og ned er alle GPU'er de samme.
Når vi ser på de specifikke, proprietære komponenter, som hver producent pakker ind i deres GPU, begynder forskellene at dukke op. For eksempel bygger Nvidia Tensor -kerner i deres GPU'er, hvorimod AMD GPU'er ikke har Tensor -kerner.
På samme måde bruger AMD komponenter som Infinity Cache, som Nvidia GPU'er ikke har.
Så for at forstå forskellen mellem Compute Units (CU'er) og CUDA -kerner skal vi først se på den overordnede arkitektur i en GPU. Når vi kan forstå arkitekturen og se, hvordan en GPU fungerer, kan vi tydeligt se forskellen mellem Compute Units og CUDA -kerner.
Hvordan fungerer en GPU?
Det første, du skal forstå, er, at en GPU behandler tusinder eller endda millioner af instruktioner samtidigt. Derfor har en GPU brug for masser af små, meget parallelle kerner til at håndtere disse instruktioner.
Disse små GPU -kerner adskiller sig fra store CPU -kerner, der behandler en kompleks instruktion pr. Kerne ad gangen.
For eksempel har en Nvidia RTX 3090 10496 CUDA -kerner. På den anden side har den top-of-the-line AMD Threadripper 3970X kun 64 kerner.
Så vi kan ikke sammenligne GPU -kerner med CPU -kerner. Der er ret mange forskelle mellem en CPU og GPU fordi ingeniørerne har designet dem til at udføre forskellige opgaver.
Desuden er alle GPU -kernerne i modsætning til en gennemsnitlig CPU arrangeret i klynger eller grupper.
Endelig har en klynge af kerner på en GPU andre hardwarekomponenter som teksturbehandlingskerner, flydende punkter og cacher
at hjælpe med at behandle millioner af instruktioner på samme tid. Denne parallelisme definerer arkitekturen i en GPU. Fra indlæsning af en instruktion til behandling af den gør en GPU alt efter principperne for parallel behandling.
- Først modtager GPU'en en instruktion om at behandle fra en kø med instruktioner. Disse instruktioner er næsten altid overvældende vektorrelaterede.
- For at løse disse instruktioner videregiver en trådplanlægger dem derefter til individuelle kerneklynger til behandling.
- Efter at have modtaget instruktionerne, tildeler en indbygget core cluster scheduler instruktionerne til kerner eller behandlingselementer til behandling.
- Endelig behandler forskellige kerneklynger forskellige instruktioner parallelt, og resultaterne vises på skærmen. Så al den grafik, du ser på skærmen, et videospil, for eksempel, er bare en samling af millioner af behandlede vektorer.
Kort sagt har en GPU tusinder af behandlingselementer, som vi kalder "kerner" arrangeret i klynger. Planlæggerne tildeler arbejde til disse klynger for at opnå parallelisme.
Hvad er beregningsenheder?
Som det ses i det foregående afsnit, har hver GPU klynger af kerner, der indeholder behandlingselementer. AMD kalder disse kerneklynger "Compute Units."
www.youtube.com/watch? v = uu-3aEyesWQ & t = 202s
Compute Units er en samling af behandlingsressourcer som parallelle aritmetiske og logiske enheder (ALU'er), caches, floating-point-enheder eller vektorprocessorer, registre og noget hukommelse til at gemme tråd Information.
For at holde det enkelt, reklamerer AMD kun for antallet af computerenheder i deres GPU'er og beskriver ikke de underliggende komponenter.
Så når du ser antallet af beregningsenheder, skal du tænke på dem som en gruppe af behandlingselementer og alle de relaterede komponenter.
Hvad er CUDA -kerner?
Hvor AMD kan lide at holde tingene simple med antallet af computerenheder, komplicerer Nvidia tingene ved at bruge udtryk som CUDA -kerner.
CUDA -kerner er ikke ligefrem kerner. De er bare floating point -enheder, som Nvidia kan lide at betegne som kerner til marketingformål. Og hvis du husker, har kerneklynger mange floating-point-enheder indbygget. Disse enheder udfører vektorberegninger og intet andet.
Så at kalde dem en “kerne” er ren markedsføring.
Derfor er en CUDA-kerne et behandlingselement, der udfører flydende punktoperationer. Der kan være mange CUDA -kerner inde i en enkeltkerneklynge.
Endelig kalder Nvidia kerneklynger "Streaming af multiprocessorer eller SM'er." SM'er svarer til AMD Compute Units, da Compute Units selv er kerneklynger.
Hvad er forskellen mellem computerenheder og CUDA -kerner?
Hovedforskellen mellem en computerenhed og en CUDA -kerne er, at førstnævnte refererer til en kerneklynge, og sidstnævnte henviser til et behandlingselement.
For at forstå denne forskel bedre, lad os tage eksemplet på en gearkasse.
En gearkasse er en enhed, der består af flere gear. Du kan tænke på gearkassen som en beregningsenhed og de enkelte gear som flydende punkter i CUDA-kerner.
Med andre ord, hvor Compute Units er en samling af komponenter, repræsenterer CUDA -kerner en bestemt komponent inde i samlingen. Så Compute Units og CUDA -kerner er ikke sammenlignelige.
Det er også derfor, at når AMD nævner antallet af computerenheder til deres GPU'er, er de altid ret lavere i forhold til konkurrerende Nvidia -kort og deres CUDA -kernetal. En mere gunstig sammenligning ville være mellem antallet af Streaming Multiprocessorer på Nvidia -kortet og antallet af Computerenheder på AMD -kortet.
Relaterede: AMD 6700XT vs. Nvidia RTX 3070: Hvad er den bedste GPU under $ 500?
CUDA -kerner og beregningsenheder er forskellige og ikke sammenlignelige
Virksomheder har for vane at bruge forvirrende terminologi til at præsentere deres produkter i det bedste lys. Dette forvirrer ikke kun kunden, men det gør det også svært at holde styr på de ting, der betyder noget.
Så sørg for at vide, hvad du skal kigge efter, når du leder efter en GPU. Hvis du holder dig langt væk fra marketingjargon, bliver din beslutning meget bedre og mere stressfri.
Hvis du er en spiller, kan du blive fristet til at opgradere dit grafikkort til NVIDIAs 30 -serie. Men er det det værd?
Læs Næste
- Teknologi forklaret
- Grafikkort
- Nvidia
- AMD -processor
Fawad er freelance skribent på fuld tid. Han elsker teknologi og mad. Når han ikke spiser eller skriver om Windows, spiller han enten videospil eller skriver til sin finurlige blog Techsava.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!
Klik her for at abonnere