Ohjelmoitava FPGA-piiri mahdollistaa pitkälle viedyn, tehokkaan rinnakkaisen laskennan. Eniten tehoa siitä saadaan, mikäli ohjelmointi tehdään standardoidulla OpenCL-kielellä. OpenCL:n avulla suunnittelut on myös helpompi viedä seuraavaan piirisukupolveen.
Yleensä ohjelmoijat koodaavat ohjelmia ajattelematta prosessorin muistihierarkiaa, ikään kuin käytössä olisi laaja, tasainen, yhtenäisen nopea muisti. Prosessorin pitää sen sijaan tulla toimeen fyysisten rajoitusten eli korkean latenssin ja rajoitetun kaistanleveyden kanssa liitännöissä ulkoiseen muistiin. Jotta toiminnallisille yksiköille saataisiin syötettyä dataa pitää prosessorin myös spekulatiivisesti hakea ennalta (pre-fetch) ulkoisesta muistista prosessorin välimuisteihin, jotta data olisi lähempänä laskentaa. Vaikka näitä tekniikoita on paranneltu vuosikymmenien ajan, niistä saatavien hyötyjen määrä on vuosien varrella merkittävästi vähentynyt.
Moniydinprosessorien vaatimien rinnakkaisten ohjelmien luomisen tarpeeseen kehitettiin OpenCL (Open Computing Language) -ohjelmointikieli tarkoituksena luoda alustariippumaton rinnakkaisen ohjelmoinnin standardi. OpenCL tuo mahdollisuuden kuvailla rinnakkaisia algoritmeja, joita voidaan toteuttaa FPGA-piireillä, paljon korkeammalla abstraktiotasolla kuin laitekuvauskielillä kuten VHDL tai Verilog.
Alteran pääsuunnittelija, tohtori Deshanand Singhin kirjoittama teksti löytyy artikkeliosuudestamme.