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.

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:

Dense Linear Algebra Sparse Linear Algebra Spectral Methods N-Body Methods Structured Grids Unstructured Grids Map-Reduce and Monte Carlo Combinational Logic Graph Traversal Dynamic Programming Backtracking Probabalistic Graphical Models 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.