Jeg var på et foredrag om GPU-programmering i regi av
EPCC i dag. Digresjon:
EPCC pleide å stå for «Edinburgh Parallel Computing Centre», men så endret de det, så nå er EPCC bare navnet, uten at det står for noe som helst. Frekt? De har forøvrig det meget snappy slagordet «unparalleled computing».
Men jo, GPU-programmering. GPU-programmering er et triks som går ut på at man bruker grafikk-prosessorer, eller GPUer, til å gjøre generelle beregninger. En GPU er nemlig laget spesielt for å kunne gjøre mange ting på en gang, noe som er essensielt når man skal regne ut hvordan ting flytter seg i for eksempel et spill. Dette kan man åpenbart dra nytte av hvis man har et problem der det er mulig å gjøre mange ting på en gang.
La oss ta en kikk på noen tall. Det sinteste grafikkortet til NVIDIA, GeForce GTX 590, har to 512-kjerners prosessorer. Det er altså 1024 prosessorkjerner. Og det tar ikke mer plass en et litt stort grafikkort, så hvis du har et godt nok hovedkort (og en god nok strømforsyning), er det ingenting i veien for å putte flere av dem i maskinen din. Til sammenligning har laptopen min 2 prosessorkjerner, og de argeste maskinenene man får kjøpt for en ikke vannvittig mengde penger har kanskje 24.
Ved første øyekast ser det altså ut til at man kan få koden sin til å gå mellom 50 og 1000 ganger fortere ved å bytte til en GPU, litt avhengig av hva du hadde fra før. Dessverre er sannheten, som den så ofte er, litt mindre spennende. Etter å ha vært på et par foredrag og et tre-timers kurs om denslags har jeg innsett at for ekte problemer er det mye mer realistisk å forvente noe slikt som 5 til 10 ganger raskere kode, hvis du er villig til å legge ned masse arbeid i optimering. Likevel, jeg synes dette virker spennende, og det er ikke utenkelig at jeg kunne komme til å begynne å sysle litt med slikt i fremtiden. Det er faktisk ikke utenkelig at man ikke kommer unna å sysle litt med slikt i fremtiden. Allerede nå er 3 av de fire raskeste superdatamaskinene i verden basert på GPUer, og neste år kommer antagelig alle fire til å være det, så det er bare å forberede seg. GPUer kommer snart, til et datasenter nær deg.
Neste gang: Tor anmelder CUDA Fortran
-Tor Nordam