GPGPU - grafikkortet tar jobben

Grafikkortet har tidligere holdt seg til å jobbe kun med nettopp grafikk. Men ikke nå lenger.

For omtrent to år siden slapp Nvidia sitt første Direct3D 10-kompatible grafikkort: GeForce 8800 GTX, som på den tiden ble beskrevet som verdens største, mest komplekse og kraftigste GPU (Graphics Processing Unit).

Den store forandringen lå i at arkitekturen bak GPU-en, altså grafikkprosessoren, var fundamentalt redesignet i forhold til tidligere generasjoner. Det nye var fleksibiliteten og ytelsespotensialet som lå i den såkalte stream-prosesseringen, der komplekse oppgaver kunne kjøres i parallell i stedet for å følge et tradisjonelt sekvensielt løp.

At en spesialisert GPU er langt bedre enn en vanlig prosessor (CPU - Central Processing Unit) kommer selvfølgelig ikke som noen overraskelse når vi snakker om spillgrafikk, men fleksibiliteten i den nye arkitekturen åpnet også for at kraften i grafikkprosessoren kunne brukes til oppgaver som normalt settes til prosessoren alene.

Problemet er at det ikke er noen automatikk i dette - skal en GPU gjøre en jobb må dette spesialprogrammeres, og for to år siden var det ingen verktøy som gjorde det enkelt å la grafikkprosessoren ta del i mer tradisjonelt prosesseringsarbeid.

Men det har endret seg.

CUDA og FireStream

Hele greia med å bruke en grafikkprosessor til å jobbe med oppgaver normalt sett tiltenkt CPU-en kalles GPGPU (General-Purpose computing on Graphics Processing Units), og har så absolutt potensiale. En datamaskins ytelse i krevende applikasjoner kan da øke mer ved å investere i et grafikkort enn ved å kjøpe en langt dyrere prosessor.

En annen faktor å ta i betraktning er at CPU-en da kan frigjøres til å jobbe med andre ting, slik at datamaskinen i praksis kan brukes til andre oppgaver mens grafikkortet jobber for fullt i "bakgrunnen".

Vis mer


Dette betyr at valg av grafikkort fremover kan bli langt viktigere enn i dag - også for den gruppen brukere som tradisjonelt ikke har brydd seg noe særlig om grafikkort. Det er altså mye som står på spill for grafikkortprodusentene, og Nvidia er derfor heller ikke alene om å satse på GPGPU. AMD/ATI har også sine egne produkter, og de to gamle rivalene kjører hver sin SDK - programpakke for utviklere.

Nvidias løsning går under navnet CUDA (Compute Unified Device Architecture), og for ATI er det FireStream - to navn du like godt kan merke deg først som sist.

Store utslag

Det er selvfølgelig fristende å hoppe rett på nummer og sammenligne ytelse med og GPGPU, men det er også viktig å være klar over at det er mange faktorer å ta hensyn til. Forskjellen mellom et sterkt og svakt (men kompatibelt) kort kan være meget stor, og det er dessuten et spørsmål om hva slags datakraft man ellers sitter på. Til slutt er det selvfølgelig også et spørsmål om applikasjonen som kjøres.

Om den faktiske ytelsesøkningen må vi altså si "kommer an på", og spranget er enormt - det kan være snakk om en forskjell på noen prosent til flere hundre ganger raskere enn ved kun CPU-kraft.

For å ta et konkret eksempel kan vi nevne konvertering av film med Badaboom Media Converter, der uavhengige tester viser en økning på typisk 2-5 ganger med god maskinvare. Og ettersom konvertering av en hel film tar mange timer er jo ikke det uvelkomment.

Et annet eksempel er å se på utslaget GPGPU gjør i Photoshop CS4. Først et eksempel der CPU-en gjør all jobben (som vi er vant med fra før):

Så et eksempel der grafikkortets prossor involveres i jobben:


Mange kort støttes

Som nevnt kom de første kortene som kunne benytte seg av stream-prosessering allerede for et par år siden, og det betyr at mange per i dag allerede sitter på et grafikkort med CUDA eller FireStream-støtte.

I AMD sitt tilfelle er det FireStream 9170 og 9250 som må sies å være mest interessante, som hos Radeon-serien har kompatible modeller i HD 3850/70 og HD 4850/70.

For Nvidia-eiere er listen større - kompatible modeller innbefatter blant annet hele GeForce 8, 9 og 200-serien der kortet har minst 256 MB RAM. Hele listen har du her. Men som nevnt er det også stor forskjell på svake og sterke kort.

Nvidia ligger i skrivende stund også et lite hode foran dersom vi tenker på praktisk bruk, men her kommer ATI halsende etter. Badaboom har i skrivende stund CUDA-støtte og ikke noe annet, mens både ATI og Nvidia vil kunne hjelpe til i Adobe Creative Suite 4.

Litt igjen

Det er ingen tvil om at GPGPU har mye å gi - men det er ingen grunn til å løpe til butikken ennå. Verktøyene og teknologien er fremdeles unge, og applikasjonene med støtte for CUDA eller FireStream er det fremdeles langt mellom - og det meste fremdeles under utvikling.

Men vi følger spent med på hva som skjer på den fronten fremover, og det er så avgjort noe å ha i bakhodet neste gang en PC skal handles inn, eller for den saks skyld "bare" et grafikkort.