OpenCL has found more support among Altera partners, but has needed another major FPGA vendor to support this open language, originally developed by Apple Inc. In mid-September, Xilinx announced it would work with partners MathWorks and National Instruments on OpenCL, as part of a new All Programmable Abstractions initiative.
Critics might see Xilinx as adding a special superfluous marketing spin to the commitment to OpenCL. For the time being, APA does seem to be an ill-defined paper initiative. But the goal of Xilinx and its two major development partners is admirable.
The APA initiative wants to place C, C++, System C, and the new OpenCL in a common framework to encourage high-level language programming of FPGAs. This could not happen too soon. For one thing, Xilinx's chief competitor Altera has had an OpenCL development program under way for close to two years. More important, the OpenCL development coincides with similar projects inside Intel Corp., AMD Inc., Broadcom Corp., and other companies heavily dependent on processor architectures.
Current trends in FPGA use suggest that most midrange and larger FPGAs will rely at least on a single microprocessor core, if not multiple cores — either homogenous multiprocessing cores or heterogeneous cores reliant on dissimilar threads and programming models. The FPGA designer will have to be as conversant in C derivatives as the user of standard integer microprocessors.
Xilinx is not putting a timeline on its work with partners on APA, and frankly, it would be unlikely to see any C++ or System C projects emerge before late 2014. This could push an OpenCL program into 2015 or later. But this nascent effort is worth a thumbs-up from Xilinx, if only in theory for now. It won't be long before every FPGA is developed in C — either existing versions or the new OpenCL.
This blog was originally posted to EDN.