Vill accelerera x86-servrar med FPGA:er
Programmerbar logik har länge använts för att accelerera algoritmer som upplevts som tunga av vanliga processorer men hittills har tekniken varit för krånglig för att få ett bredare genomslag. Xilinx vill ändra på det med ett nytt verktyg som tar C, C++ eller OpenCL och kompilerar till körbar kod i FPGA:n. I lösningen ingår också standardiserade FPGA-kort för PCIe-bussen från några utvalda samarbetsföretag.Företaget har tagit fram ett nytt utvecklingsverktyg kallat SDAccel som ska göra det enkelt att avlasta serverprocessorer av x86-typen med en FPGA. Arbetsgången ska i mångt och mycket likna den som används när man programmerar en processor med olika hjälpredor och bibliotek. Det går att kompilera, debugga och profilera mot både x86-processorer och FPGA:er.
Under huven på SDAccel snurrar Vivado, Xilinx normala utvecklingsmiljö, men det är inget som användarna ser. Utvecklingsverktyget kompletteras av ett antal färdig FPGA-kort för PCIe-bussen som utvecklats av samarbetspartners till Xilinx.
– Med en FPGA kan man få upp till 25 gånger bättre prestanda per watt jämfört med en CPU eller GPU.
Siffrorna är toppvärden. En flaskhals för den här typen av accelerationer är dataskyfflandet mellan processor, FPGA och minne som lätt kan äta upp en stor del av vinsten.
– Det kommer att bli bättre med nästa version av OpenCL som låter kernels kommunicera direkt mellan varandra utan att blanda in processorn.
Hur som helst ser Xilinx redan idag en marknad för den här typen av produkter. Förutom traditionella användare på finansmarknaden finns det mycket energi att spara i alla typer av servertillämpningar.
– Det handlar inte bara om datacenter hos Microsoft, Twitter och Facebook. Bilden är mycket bredare. Det handlar om alla tillämpningar där man har stora datamängder och försöker processa snabbt, som i försvarstillämpningar eller medicinteknik.