We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 

Alpha Data, Convey Computer, and Xilinx add OpenCL to growing list of programming abstractions for FPGAs

Xilinx Employee
Xilinx Employee
0 0 48.3K

This week at Supercomputing 2013 in Denver, you have the chance to see OpenCL on FPGAs in action. Alpha Data will be demonstrating OpenCL for Virtex-7 All Programmable FPGAs on its ADM-PCIE-7V3 PCIe-based high-performance data processing card and Convey Computer Corporation will be demonstrating OpenCL for Virtex-7 All Programmable FPGAs on its new Wolverine Hybrid-Core Coprocessor. Both demonstrations are based on new OpenCL extensions to the Xilinx Vivado Design Suite.


Alpha Data ADM-PCIE-7V3.jpg


OpenCL is familiar to people developing High-Performance Computing (HPC) applications. It’s billed as “is a multi-vendor open standard for general-purpose parallel programming of heterogeneous systems that include CPUs, GPUs, and other processors. OpenCL provides a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems, and handheld devices.” But what does that mean, really? To me, it means that OpenCL is a set of APIs that abstract HPC-related tasks from the underlying hardware. That abstraction allows you to remove one set of computing hardware from underneath the OpenCL application and insert another set that’s tailored to the specific task, which multiplies performance and improves compute efficiency. If you want to see all those APIs in gory detail, click here for a quick reference card from Khronos.org.


If you’re like me, you’re also interested in what OpenCL might do for you. What’s it good for? I found a great answer to that question on the European Stream Computing site, in a blog post titled “The 13 application areas where OpenCL can be used.” You can read the full article using the link, but here are the 13 application areas:


  1. Dense Linear Algebra
  2. Sparse Linear Algebra
  3. Spectral Methods
  4. N-Body Methods
  5. Structured Grids
  6. Unstructured Grids
  7. Map-Reduce and Monte Carlo
  8. Combinational Logic
  9. Graph Traversal
  10. Dynamic Programming
  11. Backtracking
  12. Probabalistic Graphical Models
  13. Finite State Machines


Very geeky math stuff that forms the heart of a bunch of complex end applications. Can FPGAs really goose performance in these application areas? You betcha. OpenCL is the latest in a growing number of All Programmable Abstractions tied to the Xilinx Vivado Design Suite. If you’re going to Supercomputing 2013 in Denver, be sure to sign up for a private demo. If not, please stand by.