Det låter för bra för att vara sant. I dessa kristider när besparingar finns överst på allas agenda får svenska Impetus Afea jackpott med en oväntad lösning.

Det visar sig nämligen att det går att köra avancerade beräkningar i enkla konsumentgrafikkort för några tusenlappar.

Företaget har lyckats ersätta ett datorkluster med 32 processorkärnor, som kostade en halv miljon kronor för två år sedan, med grafikkortet i en vanlig dator.

– Vi ser ju fördelar med att det blir så låga investeringskostnader. Du kan köpa vilken dator som helst och ett grafikkort för några tusenlappar, säger Mattias Unosson, vd på Impetus Afea.

Hittills har mjukvaran för vissa beräkningar omvandlats till att utnyttja ett grafikkort som kostar 4 000 kronor. Enligt företagets egna mätningar kan grafikkortet ersätta omkring tio processorkärnor.

Arbetet påbörjades för ett år sedan.

– Vi räknar med att få ännu bättre prestanda framöver och hoppas kunna få ut minst det dubbla.

Bland beräkningarna är exempelvis hållfasthetssimuleringar åt försvarsindustrin och oljeborrningsföretag. Även inom flyg- och fordonsindustrin används hållfasthetssimuleringar.

Bland kunderna finns Saab Aerosystems och Statoil Hydro.

Hur dök idén om att utnyttja grafikkort upp?

– Den kom för 1,5 år sedan från en bekant som arbetar med bildanalys, till exempel magnetröntgen, säger Mattias Unosson.

– Det är en ganska ny teknik, men det finns forskning inom området, säger Henrik Lam som är programmerare på Impetus Afea.

Hur är det möjligt att göra sådana här besparingar? Har strategerna inom hårdvarubranschen tänkt helt fel?

– Jag vet inte om man kan säga att de tänkt fel, det finns olika sätt att göra saker på, säger Leif Nordlund, affärsområdesansvarig på AMD.

– Det är ett lovande område och i framtiden vävs olika typer av arkitekturer samman.

Leif Nordlund ser en ljus framtid för grafikkorten för många typer av avancerad databehandling. Förutom simuleringar nämner han exempel som tunga beräkningar inom bank och finans och bildigenkänning.

Hemligheten ligger i att grafikprocessorerna kan utföra extremt många beräkningar samtidigt eftersom de har ett stort antal kärnor.

– De senaste processorerna har sex kärnor, men det är ingenting mot de 800 som finns i ett grafikchips. Dessutom är bandbredden väldigt mycket högre, säger Leif Nordlund.

Det som har saknats är verktyg som hjälper programmeraren att dra nytta av alla kärnor, men även sådana börjar dyka upp på marknaden.

Exempelvis arbetar Stockholmsbaserade GPU Systems på ett bibliotek som översätter kod i mattespråket Matlab till kod som kan köras på grafikkort, oavsett tillverkare.

Fakta

De två stora tillverkarna av högpresterande grafikkort, Nvidia och AMD, har tidigare haft egna metoder för att programmera grafikchipsen till att utföra generella beräkningar. Nu har båda åtagit sig att stöda språket OpenCL. Det är utvecklat av Apple och bygger i grunden på C.

Mjukvara för grafikkorten behöver därför inte längre vara tillverkarspecifika.

Grafikkorten består av hundratals relativt enkla kärnor.

Därför är det nödvändigt att det matematiska problemet som ska beräknas kan delas upp i väldigt många trådar.

För bästa prestanda bör man ha tusentals trådar som kan utföras parallellt oberoende av varandra.