Vad är gpgpu? Sida 1 av 1

Övrigt 2006-10-23

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Skribent Herman Ulltin

Vad är gpgpu?

Moderna Direct X 9-kompatibla grafikprocessorer är mycket avancerade. Exempelvis har Radeon X1900-serien 48 pixel shader-processorer som hanterar 32-bitarsberäkningar. Genom att använda specifik programvara kan man använda denna enorma flyttalsprestanda, men man kan inte använda den för att köra ett program eller operativsystem då den inte är anpassad för x86-beräkningar. Dagens grafikprocessorer kan ses som ett flyttalsberäkningsmonster i specifika situationer.

Firestream, ett gpgpu-anpassat kort från Ati.

Varför har gpgpu-fenomenet dykt upp just nu då? Tidigare har Ati använt sig av en 24-bitars flyttalsenhet vilket inte fungerar bra alls i gpgpu-syfte. Nvidias FX-serie hade visserligen 32-bitars flyttalsenhet, men arkitekturen och prestandan var inte speciellt bra i gpgpu-applikationer. Atis Radeon X800-serie och Nvidias Geforce 6-serie hade förutsättningarna då båda tillverkare förmodligen insåg att man kan använda grafikkort i GPGPU-syfte på allvar. Med dagens Radeon X1950- och Nvidia Geforce 7950-baserade grafikkort är förutsättningarna riktigt bra för general purpose gpu. Flyttalsprestandan är enorm på dessa grafikkort.

När vi skrev denna artikel läste vi en hel del om gpgpu och Ati har enligt flera källor prestandaövertaget i skrivande stund. Radeon X1900-serien har en mycket avancerad "branching-enhet" som köar beräkningar bättre samt en bättre minnesarkitektur med sin ringbuss på 512 bitar. Hur stort gpgpu kan bli återstår att se. Det har spekulerats en hel del kring om det delvis var skälet till att AMD köpte upp Ati tidigare i år.

I och med Torrenza-initiativet av AMD har en ny marknad för gpgpu öppnats. Torrenza syftar bland annat till att öppna upp AMD:s sockel F för fler applikationer än just processorer. Teoretiskt skulle man kunna ta en Radeon X1950-kärna, förpacka om den för sockel F och låta den köras parallellt med en Opteron-processor. Tillverkare som IBM, Sun, Cray och Fujitsu har visat stort intresse för Torrenza-initiativet och det är möjligt att vi inom ett till två år kommer att se rena flyttalsenheter på moderkort för Opteron-plattformen. Men vad kan man då använda gpgpu till praktiskt? Nedan följer ett par kategorier, men det finns en mängd användningsområden.

Forskning

Detta är kanske den största biten som gpgpu kan användas till. Extremt avancerade matematiska beräkningar kräver mycket processorkraft och här kan grafikprocessorer vara mycket användbara. Bland annat har det visats att man kan emulera en 44-bitars flyttalsenhet på en 32-bitars grafikprocessor. Ati släppte nyligen en beta-drivrutin som tillåter att man använder Folding @ Home på sin grafikprocessor. Detta projekt syftar till att hitta protein som kan hjälpa botandet av cancer, Alzheimers och Parkinson. Den omtalade fysikmotorn Havok 4 använder grafikprocessorn för att beräkna fysik i spel. Exemplen är många.

Ljudprocessor

Man kan med rätt applikation låta en grafikprocessor räkna ut akustik i rum mycket snabbare än en vanlig processor. Ett exempel på praktisk användning är Marcin Jedrzejewski som studerar på Polish Japanese Insitute of Information Technology som skapat ett program som använder grafikprocessorn för att räkna ut akustik, eko och så vidare. Gpgpu kan också användas för att skapa en riktigt kraftfull ljudprocessor. Företaget Bionicfx har tidigare presenterat en teknik för att göra om Nvidia-baserade grafikkort till en ljudprocessor. Enligt Bionicfx är en Nvidia-grafikprocessor är cirka sju gånger snabbare än en vanlig Intel/AMD-processor.

Databaser

Gpgpu kan vara riktigt intressant i databassammanhang. Servrar som har hand om databaser brukar normalt ha 2–32 processorer på grund av att man behöver parallellism för databaser. Grafikprocessorer är optimerade för parallellism vilket gör dem lämpliga för databaser. Enligt algoritmen GPU Terasort används grafikprocessorn till minnes- samt beräkningsintensiva saker och sedan processorn och minnena till enklare saker. Denna algoritm är väsentligt snabbare än cpu-anpassade databasalgoritmer och visar kraften i dagens grafikprocessorer. Läs mer om GPU Terasort här.

Analys av bilder

Att rekonstruera en bild som tagits med röntgen tar lång tid på grund av den stora mängden data som finns på en sådan bild. Fang Xu och Klaus Mueller på Stony Brook University har visat att de senaste grafikprocesserna kan användas för att rekonstruera röntgenbilder, men också andra typer av bilder som är tagna på exempelvis sjukhus. För tillfället används högst specialiserade asic-processorer (application-specific integrated circuit) men grafikprocessorer kan enligt studenterna vara upp till två gånger snabbare än dessa asic:er. Läs mer om deras projekt på denna webbplats.

För att få en överblick över gpgpu-marknaden kontaktade vi Magnus Wendt. Han utvecklar ansiktsigenkänningsprogramvara till den kommande bildsökmotorn Polarrose.com och har i samband med det undersökt möjligheterna att implementera algoritmer på gpu.

SC: Vilken marknad har mest användning för gpgpu just nu tycker du?

Gpu:ns stora styrka är att utföra enkla algoritmer på stora mängder data samtidigt. Men den har också stora begränsningar som hindrar att den används till generell databehandling. Den som någon gång har skrivit ett datorprogram vet hur en for-loop fungerar. En enkel programsats som multiplicerar ihop två vektorer elementvis kan skrivas så här (som pseudokod):

for i = 0..vectorsize {
c[i] = a[i] * b[i];
}

Tittar man på den koden ser man att varje varv i loopen är fristående från de andra, så istället för att utföra beräkningarna en efter en kan man lika gärna göra dem samtidigt. Detta är idealiskt för en gpu som kan distribuera problemet på ett stort antal beräkningsenheter som kör parallellt.

Tittar vi på det ännu enklare programmet

for i = 0..vectorsize {
c = a[i] + c;
}

som summerar elementen i en vektor är situationen annorlunda. Det går inte längre att utföra ett varv i loopen innan man har resultatet från föregående beräkning och man kan därför inte parallellisera looparna. gpu:n har genast förlorat sin styrka på ett väldigt enkelt problem! Man får försöka arbeta sig runt det bäst man kan genom att formulera om lösningen. Till exempel kan man summera ihop elementen två och två för att få en vektor som är hälften så stor och repetera den proceduren tills man bara har ett element kvar. Den lösningen innebär fortfarande att man utför loopar som inte går att parallellisera, men antalet är i alla fall kraftigt reducerat.

Gpu:er är extremt snabba på att räkna på mycket stora vektorer så länge vektorelementen i resultatvektorn inte beror på andra element i samma resultatvektor. Det är en ganska betydande begränsning men det finns likväl en rad problem som är väldigt lämpade för parallellisering.

Partikelsystem i fysikmotorer består av ett stort antal datapunkter som inte inte påverkar varandra under samma tidssteg. Partiklar interagerar i och för sig med varandra genom kollisioner och så vidare, men dessa beräknas utifrån data från föregående tidssteg vilket inte utgör något problem. Vid videokomprimering/-uppspelning utförs många beräkningar per pixel/blockelement som lämpar sig ypperligt för parallellisering.

Mer avancerade metoder inom datorgrafik som stäcker sig bortom de polygonbaserade spelmotorer som vi är vana vid. (Det låter kanske självklart att grafikkort skall kunna hantera grafik, men renderingsmetoder som till exempel raytracing och radiosity rendering skiljer sig markant ifrån hur grafikkorten normalt hanterar grafik.) Till och med databassökning har faktiskt implementerats med stor framgång på gpu. Många vetenskapliga/ingenjörsmässiga tillämpningar som exempelvis flödesdynamisla beräkningar är parallella i sin utformning.

SC: Det sägs att Atis grafikprocessor för tillfället är snabbast när det gäller gpgpu, håller du med?

Jag har inte jämfört hårdvara från både Ati och Nvidia, så jag kan inte uttala mig om det, men jag kan i alla fall säga att Ati har tagit det första steget mot en gpu-api (application programming interface, reds anm.) som inte är avsedd för grafik. Den låter programmeraren skriva enklare och effektivare program eftersom det gör att man slipper ta omvägen via en grafik-api. Samtidigt ger programmeraren större kontroll över beräkningsenheterna.

SC: Folding @ Home-projektet har nyligen börjat använda sig av gpgpu, tror du fler distribuerade projekt, exempelvis Seti @ Home, inom kort kommer att följa detta exempel?

Både Folding @ Home och Seti @ Home är projekt som lånar ens datorkraft för att tugga stora mängder data med enformiga beräkningar. De är perfekt lämpade för gpu:er och jag skulle bli mycket förvånad om Seti inte följer Foldingprojektets exempel.

SC: Hur tror du gpgpu-marknaden kommer se ut om fem år?

Några exakta tidsramar kan jag inte ge, men vi vet ju att AMD har köpt upp Ati. Vi vet också att Intel nyligen har investerat i skaparna bakom Power VR-tekniken och det förekommer rykten om att dom kommer att lägga ett bud på Nvidia. Det är ganska frestande att gissa att gpu:n kommer att slås samman med cpu:n i framtiden. Gpu-delen av cpu:n kommer även forsättningsvis huvudsakligen att användas till grafik, men det är gpu:ns potential för generella databeräkningar som motiverar en sådan sammansmältning ifall den äger rum.

SC: Ati Firestream-korten har funktioner som inte vanliga Radeon-grafikkort har, vilka är dessa funktioner?

Jag kan inte kommentera Firestream-korten eftersom dessa täcks av en nda (sekretessavtal, reds anm.) som jag har skrivit under.

SC: Tror du att gpgpu kan användas för exempelvis komprimering av data på persondatorer?

Tveklöst.

Var står Intel?

AMD har många gånger nämnts i denna artikel. Men var står Intel? De har i år anställt personer som hjälper till med utveckling av ”nästa generations grafikprocessorer”. De har även investerat stora pengar i företaget Imagination Technologies som bland annat har skapat Power VR-arkitekturen, för er som kommer ihåg Kyro och Kyro 2-grafikkorten. Intel öppnade likt AMD nyligen tekniken bakom sin systembuss för tredjepartstillverkare, men enligt flera källor är Intels systembuss svårare att designa gpgpu-produkter på än AMD:s Hypertransport. Enligt rykten skall Intel lansera en seriell buss liknande Hypertransport med namnet Common Systems Interconnect (CSI) som förväntas dyka upp på processorkärnan Tukwila år 2008/2009.

Varför är general purpose gpu så pass omtalat? Först och främst handlar det om ren prestanda i diverse situationer. Från vädermodellering, ekonomiska prognoser, simulationer, fysikberäkningar till generell rendering är gpgpu högst intressant. Dagens grafikprocessorer är helt enkelt extremt snabba jämfört med processorerna, och med rätt arkitektur och teknik kan man skapa produkter som är användbara. Nästa generations grafikkort från Ati och Nvidia (R600 respektive G80) kommer säkerligen att vara designade arkitekturmässigt för att bättre klara av gpgpu-applikationer på grund av grafikprocessorns fördel jämfört med den vanliga processorn.

Gpgpu är ett relativt nytt fenomen som vi säkerligen kommer att se mer av i framtiden.



För samtliga recensioner, se arkivet.

Hårddisk på fem terabyte om två år

Lagring Idag 13:08

Seagate rapporterade nyligen att de kommer att sälja hårddiskar med två terabyte kapacitet redan nästa år. Nu visar Hitachi musklerna och planerar en hårddisk på fem terabyte till året efter. Läs mer

EU-lag kan kräva avstängning av fildelare och internetcensur

IT-Politik Idag 09:08

Den 7 juli kommer EU-utskott att rösta om det så kallade telekompaketet, som reglerar teleföretag och internetleverantörer. Nu försöker lobbygrupper i sista minuten kuppa in flera tillägg i lagen. Några av tilläggen kan tvinga internetleverantörer att stänga av fildelare – och öppnar upp för filtrering av internet. Läs mer

Windows tappar mark

Operativsystem Igår 18:23

Enligt en ny studie är det allt färre som använder Windows. Om resultaten stämmer kan Windows snart stå för mindre än 90 procent av operativsystemen som används av internetsurfare. Läs mer

Geforce 9800 GT är nästa grafikkort från Nvidia

Grafikkort Igår 16:51

Redan innan Geforce 9-serien lanserades ryktades det om Geforce 9800 GT – en ersättare till det prisvärda 8800 GT. Denna modell har dock dragits med förseningar, och först nu visas fungerande grafikkort upp av tillverkarna. Läs mer

Felaktiga grafikkretsar kostar Nvidia hundratals miljoner dollar

Bransch Igår 15:46

Grafikkortsjätten Nvidia har bekymmer. Sedan det uppdagats att en mängd felaktiga grafikkretsar letat sig ut på marknaden har aktien fallit med 28 procent. Det handlar om hundratals miljoner dollar i skador. Läs mer

Asus tar fram fler Eee PC

Datorer 2008-07-02 16:23

Asus jobbar inte enbart på nya bärbara Eee PC-datorer utan även stationära modeller. Nu har flera bilder dykt upp på en framtida laptop och dessutom en Apple-liknande stationär modell där datorn är inbyggd i skärmen. Läs mer

Radeon HD 4870 X2 med två gigabyte minne

Grafikkort Idag 10:57

Redan innan Radeon HD 4800-serien lanserades har det ryktats om modeller mycket minne. Hittils har det endast dykt upp grafikkort med 512 megabyte som standard, men varianter med 1024 MB har redan utannonserats av flera tillverkare. Nu ser det ut som det att kommande dubbelgrafikkortet Radeon HD 4870 X2 kan utrustas med hela 2048 MB. Läs mer

Överklockad Radeon HD 4870 når 4 800 megahertz

Grafikkort Igår 20:08

I slutet av juni gick AMD ut med att de skulle börja sälja fabriköverklockade grafikkort ur Radeon HD 4800-serien. Diamond har redan lanserat en vattenkyld version av "Super RV770". Läs mer

Geforce GTX 200 faller i pris

Grafikkort Igår 17:13

Redan innan Nvidia lanserade den nya värstingserien Geforce GTX 200 stod det klart att priserna skulle sänkas kort efter att grafikkorten dök upp i butikerna. Nu ryktas det att den kraftfullaste modellen kommer att bli rejält mycket billigare redan idag. Uppdaterad! Läs mer

AMD tar marknadsandelar

Bransch Igår 16:06

I ett långt perspektiv har AMD ökat sina marknadsandelar. Men i ett kort perspektiv har den mindre processortillverkaren tappat mot konkurrenterna. AMD står nu för 13 procent av processormarknaden. Läs mer

OCZ storsatsar på billig SSD-lagring

Lagring 2008-07-02 17:37

Hårddiskindustrin är just nu i en fas av förändring, då de mekaniska diskarna utmanas mer och mer av flashminnesbaserade SSD-hårddiskar. Tillverkarna själva diskuterar gärna om årtal när SSD kan bli praktiskt i praktiken, årtal som ofta är långt in i framtiden. OCZ kör på mindre snack och mer verkstad, och lanserar en väldigt billig SSD-serie. Läs mer

Intel siar om framtiden i väntan på födelsedagen

Datorer 2008-07-02 15:45

Om två veckor fyller Intel 40 år. I väntan på den stora dagen passar processorjätten på att spekulera om framtiden. Läs mer

Veckans omröstning

Vilket datorspel ser du mest fram emot?

Vilket datorspel ser du mest fram emot?

Diablo 3

36,4%

898

Empire: Total War

3,0%

75

Fallout 3

8,4%

207

Far Cry 2

10,6%

261

GTA IV

10,0%

246

Left 4 Dead

2,9%

72

Spore

3,3%

81

Starcraft 2

12,7%

314

WoW: Wrath of the Lich King

4,8%

118

Annat spel

7,8%

192

2464

2464

Sök

SweClockers.com




Lancool Metal Boned K10

Lancool Metal Boned K10

CHASSI & NÄTAGG
2008-06-27

Benq G2400W

Benq G2400W

MONITORER
2008-06-25

OCZ SSD II mot WD Velociraptor

OCZ SSD II mot WD Velociraptor

LAGRING
2008-06-23

Geforce GTX 280

Geforce GTX 280

GRAFIKKORT
2008-06-19

Gigabyte 9600 GT Zalman

Gigabyte 9600 GT Zalman

GRAFIKKORT
2008-06-16