Aritmetisk intensitet og båndbredde for RAM eller VRAM

Aritmetisk intensitet og båndbredde for RAM eller VRAM

Forholdet imellem RAM og en processor er totalt symbiotisk, mens RAM er meningsløs uden processoren, den kan ikke leve uden den uanset hvor den er. Så de er en del af en helhed, der fodrer hinanden. Så der er et forhold til ydeevne, og dette er den aritmetiske intensitet. Vi forklarer, hvad det består af.

En processor, uanset om det er en CPU eller GPU, gør ikke andet end processdata , hvilket fører til behov for hukommelse at fodre den. Desværre, med tiden, er afstanden mellem hukommelsens hastighed og CPU'ens voksende, hvilket har ført til implementering af teknikker såsom cache -hukommelse. Vi kan ikke glemme enten latens mellem processoren og hukommelsen, hvilket opstår, når grænsefladen mellem RAM og processoren ikke kan give eller ændre dataene med tilstrækkelig hastighed.

Vi kan imidlertid ikke måle ydeevnen på en generel måde, da hvert program eller rettere sagt har hver algoritme inden for hvert program en anden beregningsmæssig belastning. Og det er her det aritmetiske intensitetsudtryk kommer ind. Men lad os se, hvad det er, og hvad det består af, samt andre elementer, der har at gøre med ydeevne på en computer.

Hvad er aritmetisk intensitet?

Intensidad aritmética

Aritmetisk tæthed er et mål for ydeevne, der består i at måle antallet af flydende punktoperationer, som en processor udfører på en bestemt sektion af kode. For at opnå det divideres antallet af flydende punktoperationer med antallet af bytes, som algoritmen bruger til at udføre.

Hvor nyttigt er det? Tja, det faktum, at det tillader inden for visse computingsområder, hvor der er brug for meget kraftfulde computere til specifikke opgaver for at kunne have det bedst mulige hardwaresystem til at udføre algoritmerne under de bedste betingelser. Denne model bruges hovedsageligt inden for videnskabelig computing. Selvom det også tjener til at optimere ydeevnen i lukkede systemer såsom videospilkonsoller.

I tilfælde af brug af en stærkt paralleliseret hardware -arkitektur kræves en høj aritmetisk intensitet, det vil sige et lavt forhold mellem båndbredde og computerkapacitet fra det øjeblik, hvor forholdet mellem processorernes computerkapacitet og den tilgængelige hukommelsesbåndbredde er høj. Da det er påkrævet i mange applikationer og især i grafik, at en beregning behandles flere gange, og derfor kræves en stor beregningsevne i sammenligning.

Algoritme ydeevne og forhold til aritmetisk intensitet

Notación O Algoritmos

Når man skriver en algoritme, tager programmører hensyn til ydelsen af ​​de algoritmer, de skriver i deres programmer, som måles ved hjælp af Big O -notationen, som måler gennemsnittet af operationer i forhold til dataene. Big O -notationen måles ikke ved hjælp af noget benchmark, men programmererne beregner dem snarere for hånd for at få en grov ide om programmernes arbejdsbyrde

  • Eller (1): the algoritme afhænger ikke af størrelsen på de data, der skal behandles. En algoritme med en O (1) ydelse anses for at have ideel ydeevne og er uovervindelig.
  • På): udførelsestiden er direkte proportional med datastørrelsen, ydelsen vokser lineært. Det kan også være, at a
  • O (log n): forekommer i algoritmer, der normalt hugger op og løser et problem delvist, såsom algoritmer til databehandling eller binære søgninger.
  • O (n log n): det er en udvikling af den forrige, det handler om yderligere at opdele opløsningen af ​​de forskellige dele.
  • 2 ): der er algoritmer, der udfører flere iterationer, fordi de skal forespørge dataene flere gange. Derfor er de normalt meget gentagne algoritmer og har derfor en eksponentiel beregningsbelastning.
  • På!): En algoritme, der følger denne kompleksitet, er en totalt fejlbehæftet algoritme med hensyn til ydeevne og kræver omskrivning.

Ikke alle algoritmer kan nå O (1) kompleksitetsniveauet, og nogle af dem fungerer meget bedre på en type hardware end en anden. Derfor er domænespecifikke acceleratorer eller processorer blevet udviklet i de seneste år, der fremskynder en type algoritme frem for andre. Den generelle idé er at opdele algoritmerne i dele og behandle hver af dem med den mest passende behandlingsenhed for sin aritmetiske intensitet.

Forholdet mellem kommunikation og computing

CPU RAM Placa PC

Det omvendte tilfælde er forholdet mellem kommunikation og beregning, som måles omvendt til aritmetisk intensitet og derfor opnås ved at dividere antallet af bytes med effekten i flydende punktoperationer. Så det bruges til at måle den båndbredde, der kræves for at udføre den del af koden. Problemet ved måling skyldes, at dataene ikke altid er det samme sted, og derfor bruges RAM -båndbredden som reference.

Det skal tages i betragtning, at det ikke er en helt pålidelig foranstaltning, ikke kun på grund af det faktum, at cachesystemet bringer dataene tættere på processoren, men også på grund af, at der er fænomenet latens, hvor hver type hukommelse Brugt RAM har forskellige fordele og ulemper, og et resultat kan variere afhængigt af den anvendte hukommelsestype.

I dag, når du vælger hukommelse i et system, tages der ikke kun hensyn til båndbredde, men også energiforbrug, da energiomkostningerne ved at flytte dataene overstiger omkostningerne ved behandling af dem. Så du vælger bestemte typer specifik hukommelse i visse applikationer. Selvfølgelig altid inden for de omkostninger, der er forbundet med at opbygge et system, og de er ikke de samme i en supercomputer som i en hjemme -pc.