Varför din nästa CPU kan vara en GPU
NyheterAlla pratar om supercomputing på skrivbordet - och i synnerhet om det kommer att bli GPUer som uppnår det målet. Vi tror att generell beräkning på GPU: er (en idé som kallas GPGPU) kan vara den viktigaste beräkningsutvecklingen under de kommande tio åren.
Som påståenden går det en biggie. Men om du vill ha bevis på industrins tro på det nya konceptet, ta en titt på de företag som vill ha en skiva av GPGPU-cirkeln: Nvidia, AMD, Intel, Microsoft, IBM, Apple och Toshiba vill alla ha det. Och det är inte bara spekulation som leder till så stort intresse: GPGPU-system överträffar redan CPU-bara kluster i områden som är så olika som molekylär dynamik, strålspårning, medicinsk bildbehandling och sekvensmatchning.
Kombinationen av parallell CPU och GPU-bearbetning som används för att uppnå dessa resultat kallas ofta heterogen databehandling. GPGPU-konceptet gör GPU till månsken som en mångsidig samprocessor. Som Nvidias David Luebke har föreslagit blir datorer inte längre snabbare; flytten till multicore-processorer innebär att de faktiskt blir bredare.
Det är tanken att GPGPU-datorer betalar in. Genom att intelligent avlasta dataintensiva uppgifter från processorn till andra processorkärnor (som de som finns på ett grafikkort), uppnår utvecklarna förbättrad applikationsprestanda genom parallelism.
GPGPU är dock knappast en ny idé. Enligt webbplatsen www.gpgpu.org har GPU-tekniken använts för antal krossning sedan 1978, då Ikonas utvecklade ett programmerbart rastervisningssystem för cockpitinstrumentering.
Från GPU till GPGPU
Moderna GPU: er gör ideala samprocessorer. Inte bara är de billiga, de är också blåsande snabba, tack vare närvaron av flera processorkärnor. Viktigast är att dessa multipelkärnor är programmerbara. Medan CPU: er är konstruerade för att bearbeta trådar i följd, är GPU: er utformade att bränna genom data parallellt.
Nvidia GeForce GTX 280 är till exempel byggd för hastighet. Som en spelkomponent kan den leverera släta högupplösta bilder med komplexa ljuseffekter, texturer och realtidsfysik. Titta bara på Far Cry 2 i 1,920 x 1200 pixlar. Med 1,4 miljarder transistorer, GeForce GTX 280 kommandon 240 programmerbara shader kärnor som kan ge 993 gigalops av processorkraft.
AMDs grafikteknik är lika potent. Dess 4800-serien Radeon HD-kort har 800 programmerbara kärnor och GDDR5-minne för att leverera 1,2 teralops av processorkraft. "Stark pipelining av GPU-program möjliggör effektiv tillgång till data", säger Shankar Krishnan hos AT & T: s Research Labs. "Detta eliminerar behovet av de omfattande cache-arkitekturer som behövs på traditionella processorer och möjliggör en mycket högre densitet av beräkningsenheter."
Självklart, om du inte spelar Far Cry 2 eller Fallout 3 då sitter all denna bearbetningspotential bara om att twiddling tummen. GPGPU: er tillåter oss att se vad som kommer att hända om andra applikationer kan använda processorerna på ett grafikkort.
Stream bearbetning
Det är därför Nvidia och AMD är angelägna om att utnyttja GPGPU-potentialen hos deras grafikhårdvara. Nvidias Tesla Personal Supercomputer kombinerar till exempel en traditionell fyrhjuls-CPU med tre eller fyra Tesla C1060-processorer.
En C1060 är effektivt en GeForce GTX 280 med 4 GB GDDR3-minne och ingen video-out. Varje C1060 har 933 gigalops med enkel precision, flytpunkts prestanda, så Nvidias toppmoderna fyra-GPU S1070-system packar upp till 4,14 teralops bearbetningskraft i varje rack. Tokyo Institute of Technology köpte nyligen 170 av dem för att ge sin Tsubame-superdator lite extra spark.
GPU: er gör ideala antal crunchers eftersom de är utformade för att fungera med "strömmar" av data och tillämpa förprogrammerade operationer till varje del. GPU: er arbetar bäst med stora dataset som kräver samma beräkning. Calgary-baserade företaget OpenGeoSolutions använder Nvidias Tesla-maskinvara för att förbättra sin seismiska modellering via en teknik som kallas spektral sönderdelning. Processen innefattar analys av låga elektromagnetiska frekvenser (orsakad av variationer i bergmassa) för att bygga en stratigrafisk bild av jordens geologi.