Hvorfor bruker vi fremdeles CPUer i stedet for GPUer?

Nov 6, 2024
Maskinvare

I økende grad brukes GPU-er til ikke-grafiske oppgaver som risikoberegninger, flytdynamikkberegninger og seismisk analyse. Hva skal hindre oss i å ta i bruk GPU-drevne enheter?

Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en grupperingsgruppering av spørsmål og svar-nettsteder.

Spørsmålet

SuperUser-leser Ell holder tritt med tekniske nyheter og er nysgjerrig på hvorfor vi ikke bruker flere GPU-baserte systemer:

Det ser ut til at det i dag gjøres mange beregninger på GPU-en. Tydeligvis gjøres grafikk der, men ved bruk av CUDA og lignende, AI, hashing-algoritmer (tenk Bitcoins) og andre gjøres også på GPU. Hvorfor kan vi ikke bare kvitte oss med CPUen og bruke GPUen alene? Hva gjør GPU så mye raskere enn CPU?

Hvorfor egentlig? Hva gjør CPUen unik?

Svaret

SuperUser-bidragsyter DragonLord tilbyr en godt støttet oversikt over forskjellene mellom GPUer og CPUer:

TL; DR svar: GPUer har langt flere prosessorkjerner enn CPUer, men fordi hver GPU-kjerne kjører betydelig tregere enn en CPU-kjerne og ikke har funksjonene som trengs for moderne operativsystemer, er de ikke passende for å utføre mesteparten av behandlingen i hverdags databehandling. De egner seg best til beregningskrevende operasjoner som videoprosessering og fysikksimuleringer.

Det detaljerte svaret: GPGPU er fortsatt et relativt nytt konsept. GPUer ble opprinnelig bare brukt til å gjengi grafikk; etter hvert som teknologien avanserte, ble det store antallet kjerner i GPUer i forhold til CPUer utnyttet ved å utvikle beregningsmuligheter for GPUer slik at de kan behandle mange parallelle datastrømmer samtidig, uansett hva disse dataene kan være. Selv om GPU-er kan ha hundrevis eller til og med tusenvis av strømprosessorer, kjører de hver sin tregere enn en CPU-kjerne og har færre funksjoner (selv om de er Turing fullført og kan programmeres til å kjøre hvilket som helst program en CPU kan kjøre). Funksjoner som mangler fra GPUer inkluderer avbrudd og virtuelt minne, som kreves for å implementere et moderne operativsystem.

Med andre ord, CPUer og GPUer har betydelig forskjellige arkitekturer som gjør dem bedre egnet til forskjellige oppgaver. En GPU kan håndtere store mengder data i mange strømmer, og utføre relativt enkle operasjoner på dem, men er lite egnet til tung eller kompleks behandling på en eller få datastrømmer. En CPU er mye raskere per kjerne (når det gjelder instruksjoner per sekund) og kan utføre komplekse operasjoner på en enkelt eller få datastrømmer lettere, men kan ikke effektivt håndtere mange strømmer samtidig.

Som et resultat er ikke GPU-er egnet til å håndtere oppgaver som ikke har stor nytte av eller som ikke kan parallelliseres, inkludert mange vanlige forbrukerapplikasjoner som tekstbehandlere. Videre bruker GPUer en fundamentalt annen arkitektur; man må programmere et program spesielt for en GPU for at det skal fungere, og det kreves betydelig forskjellige teknikker for å programmere GPUer. Disse forskjellige teknikkene inkluderer nye programmeringsspråk, modifikasjoner av eksisterende språk og nye programmeringsparadigmer som er bedre egnet til å uttrykke en beregning som en parallell operasjon som skal utføres av mange strømprosessorer. For mer informasjon om teknikkene som trengs for å programmere GPUer, se Wikipedia-artiklene på strømbehandling og parallell databehandling .

Moderne GPU-er er i stand til å utføre vektoroperasjoner og flytende-aritmetikk, med de nyeste kortene som er i stand til å manipulere tall med dobbel presisjon. Rammeverk som CUDA og OpenCL gjør det mulig å skrive programmer for GPUer, og karakteren til GPUer gjør dem best egnet til svært parallelliserbare operasjoner, for eksempel i vitenskapelig databehandling, hvor en serie spesialiserte GPU-beregningskort kan være en levedyktig erstatning for en liten beregne klyngen som i NVIDIA Tesla Personal Supercomputers . Forbrukere med moderne GPU-er som har erfaring med Folding @ home kan bruke dem til å bidra med GPU-klienter , som kan utføre simuleringer av proteinfolding i svært høye hastigheter og bidra med mer arbeid til prosjektet (husk å lese Vanlige spørsmål først, spesielt de som er relatert til GPUer). GPUer kan også muliggjøre bedre fysikksimulering i videospill ved bruk av PhysX, akselerere videokoding og dekoding, og utføre andre beregningskrevende oppgaver. Det er denne typen oppgaver GPUer er best egnet til å utføre.

AMD er banebrytende for et prosessordesign kalt Akselerert prosesseringsenhet (APU) som kombinerer konvensjonelle x86 CPU-kjerner med GPUer. Dette kan gjøre at CPU- og GPU-komponentene kan fungere sammen og forbedre ytelsen på systemer med begrenset plass til separate komponenter. Når teknologien fortsetter å utvikle seg, vil vi se en økende grad av konvergens av disse en gang separate delene. Imidlertid er mange oppgaver utført av PC-operativsystemer og applikasjoner fortsatt bedre egnet for CPUer, og mye arbeid er nødvendig for å akselerere et program ved hjelp av en GPU. Siden så mye eksisterende programvare bruker x86-arkitekturen, og fordi GPU-er krever forskjellige programmeringsteknikker og mangler flere viktige funksjoner som trengs for operativsystemer, er en generell overgang fra CPU til GPU for daglig databehandling ekstremt vanskelig.


Har du noe å legge til forklaringen? Hør av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her .

.post-innhold .inngangs-bunntekst

Why Are We Still Using CPUs Instead Of GPUs? (15 Solutions!!)

Why Do CPUs Need Caches? - Computerphile

How Intel And AMD Are Using 'chiplets' To Build Next-gen CPUs | Upscaled

GPUs: Explained


Maskinvare - Mest populære artikler

Hvorfor folk fremdeles kjøper funksjonstelefoner i 2020

Maskinvare Jul 30, 2025

Aneesh rathi / Shutterstock Smarttelefonen i lommen din kan utføre millioner av beregninger per sekund, spille visuelt imponerende 3D-spill, få..


Hvordan midtklikke på en bærbar pekeplate

Maskinvare Aug 21, 2025

De fleste bærbare styreplater gjør det mulig å utføre et midtklikk, men ikke alle gjør det. I noen situasjoner må du kanskje aktivere dette alternativet i musedriverens kontro..


Hva er PlayStation Vue, og kan det erstatte kabelabonnementet ditt?

Maskinvare Jun 20, 2025

UCACHED INNHOLD Å komme vekk fra tradisjonell TV-tjeneste blir mer og mer populær, med streaming-TV-tjenester som leder kostnadene. I dag skal vi se nærmere på Sonys syn på T..


Slik bruker du Pokémon Go-appen til Apple Watch

Maskinvare Dec 27, 2024

UCACHED INNHOLD Skaperne av Pokémon Go har gitt ut sin etterlengtede Apple Watch-app, som sikkert vil behage Se iført Pokémon-trenere overalt. Til tross..


Hvordan blinke lysene når noen ringer på døren

Maskinvare Sep 30, 2025

Mens du kan få installert profesjonelle systemer som kobler lysene dine til dørklokken, kan du bruke en eksisterende smart videodørklokke (som Ring eller Skibelgrense ..


Hvordan feilsøke vanlige problemer med Google Chromecast

Maskinvare Jul 30, 2025

De fleste brukere har en jevn og problemfri opplevelse med Google Chromecast, men når den oppfører seg dårlig, går opplevelsen raskt fra feilfri til nesten ubrukelig. Les videre..


9 ting å gjøre når du først får en iPhone

Maskinvare Jan 28, 2025

Du har nettopp fått en iPhone, hva nå? Mengden ting å sette opp kan være overveldende for førstegangsbrukere, men How-to Geek er her for å guide deg gjennom de viktige trinnen..


Hva er diskfragmentering og trenger jeg fortsatt å defragmentere?

Maskinvare Dec 13, 2024

UCACHED INNHOLD Trenger moderne datamaskiner fortsatt den slags rutinemessige defragmenteringsprosedyrer som eldre datamaskiner etterlyste? Les videre for å lære om fragmentering og h..


Kategorier