The OpenCL standard is a maturing C-based open standard for parallel programming and the programme aims to help in system designs using a CPU plus FPGA to give a significant time-to-market advantage compared to traditional FPGA development using lower level hardware description languages (HDLs) such as Verilog or VHDL.
Early results of customer evaluations show a 35X performance increase compared to multicore CPU solutions, and a 50 percent reduction in development time compared to HDL-developed FPGA solutions. Through the OpenCL programme, Altera has worked with customers and expanded its university program to support the OpenCL standard and is actively contributing to the evolution of the OpenCL standard based on customer feedback.
By adopting a heterogeneous architecture with OpenCL, system architects can maximize performance of algorithmic-intensive portions of their design while also achieving fast time-to-market. Target applications range from high-performance computing, including climate and financial modelling, to advanced radar systems, medical imaging, and video encoding and processing—any system that requires fast computations that can be parallelized.
It offers a natural separation between “host” code—pure software, written in standard C/C++, that can be executed on any type of microprocessor—and the “kernel” code, written in OpenCL C, that runs on the accelerator. By profiling their algorithms, system architects can choose which functions to accelerate as kernels in the FPGA device to improve system performance. Multiple kernels can operate in parallel to further speed up processing. The host communicates with the accelerator device via a set of library routines with a minimal set of extensions that allow programmers to specify parallelism and memory hierarchy for the most computationally intensive portions of the code.
“The OpenCL standard enables designers to accelerate their designs and improve their productivity by taking advantage of parallel architectures within the C programming environment,” said Udi Landen, vice president of software and IP engineering at Altera. “We have been actively engaged in OpenCL development for years, and are now collaborating with