JavaScript is currently disabled.Please enable it for a better experience of Jumi. Kompilera Cuda för FPGA
Forskare har konstruerat en kompilator som genererar effektiv FPGA-kod från program skrivna för att exekveras på grafikprocessorer.
Nu kan programvara som utvecklats för Nvidias teknik Cuda kompileras till effektiva algoritmer i FPGA:er. Det visar sex amerikanska forskare i en vetenskaplig artikel.

Cuda används för att förmå grafikkort att köra program som inte har med grafik att göra. Grafikkprocessorer är avancerade multikärnor och konkurrerar med CPU:er om att få utföra tunga beräkningsuppgifter, bland annat klassiska numeriska parallelldatorberäkningar och algoritmer för signalbehandling och videobearbetning.

Det här betyder att du kan först utveckla mjukvara i Cuda och därefter undersöka vilken hårdvara som kör den snabbast. Det betyder också att den stora volym programvara som idag finns utvecklad för Cuda nu kan kompileras om för att istället köras på en FPGA.

Forskarna testade att köra en och samma Cudakod på en FPGA och en GPU. Det visade sig att på korta ordlängder på 8 och 16 bitar blev FPGA-implementeringen effektivare.

FPGA:n var en 65 nm Xilinx Virtex5-FPGA XC5VFX200T med drygt 100 000 lookuptabeller och 384 signalprocessorenheter. Grafikprocessorn var en 90 nm Nvidia G80 med 128 kärnor.

Enligt forskarna är detta första gången som någon visat upp en metod för att kompilera Cudaprogram till effektiv FPGA-kod.

Knepet är att översätta Cuda-koden till C-kod för det existerande verktyget Autopilot, som i sin tur översätter C-koden till RTL-kod för FPGA:n.

Nu planerar forskarna att göra liknande experiment med andra högnivåparallellprogrammeringsmodeller som Open CL.

Artikeln kan laddas hem här (pdf, 300kB).
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)