OpenCL är ett programspråk som river språkbarriärer mellan olika processorarkitekturer. Det används för att bygga system där olika delar av koden kan köras i CPU, GPU – och nu också FPGA – beroende på vilken hårdvara som är effektivast. Ett gemensamt språk gör det enklare att utveckla hybridlösningar av det slaget. Det blir också enklare att experimentera med sådana hybridlösningar – att testa att förlägga delar av systemet på olika processortyper. OpenCL arbetar på låg nivå. Det är programmeraren som uttryckligen styckar upp sitt program och data och bestämmer hur bitarna ska fördelas på den hårdvara som står till buds AMD, Intel, Apple och Nvidia tog fram det ursprungliga förslaget till OpenCL. Styrelsegruppen innehåller idag även Ericsson, Arm, Freescale, Imagination, Qualcomm, Samsung, Sony, Nokia, Oracle, Epic Games och TI. I Sverige är Umeå Universitet akademisk medlem. |
Snabba beräkningar utfördes förr i tiden på CPU:er. Idag försöker man även engagera andra typer processorer i arbetet. Grafikkärnor – som är massivt parallella – var en tidig kandidat.
Den öppna standarden OpenCL har blivit ett av verktygen för att åstadkomma detta. Nu bjuder Altera in de ännu mer massivt parallella FPGA-kärnorna i leken med hjälp av OpenCL.
Altera vill också påverka nästa generation av OpenCL för att anpassa det mer för den typ av minnesgränssnitt som FPGA:er använder.
Dagens superdatorer är redan hybridlösningar som inte bara utnyttjar CPU:er utan också GPU:er – och FPGA:er – för sifferkrossande. Med ett gemensamt programspråk blir det enklare att sy ihop heterogena system av det slaget.
Tekniken är intressant även utanför superdatorområdet. Det var Apple som tog fram det första förslaget till OpenCL. Framför allt har man varit intresserad av att avlasta klassiskt CPU-arbete till grafikprocessorn.
Alteras verktyg stöder system som blandar ARM- och x86-CPU:er med programmerbar logik. Stöd för ytterligare en CPU-arkitektur ska annonseras år 2012
Verktyget är under utveckling och Altera har inte lanserat någon produkt ännu.
Altera har varit medlem i arbetsgruppen för OpenCL ända sedan januari i fjol.
FPGA-experten Joachim Strömberg kommenterar nyheten på sin blogg (länk)