LIBCLC: An OpenCL C Library Implementation

Written by Michael Larabel in Programming on 19 October 2011 at 01:14 PM EDT. 4 Comments
PROGRAMMING
It was just two days ago that the Portable OpenCL project was announced, but today there's another open-source OpenCL project that takes advantage of LLVM/Clang: libclc, an OpenCL C library implementation.

This library provides a reference OpenCL C library implementation that's BSD-licensed and implements the library requirements of the OpenCL 1.1 specification. The library is meant to be used with LLVM's Clang OpenCL front-end, which isn't a problem with most of the open-source and proprietary OpenCL drivers utilizing this compiler.

From the project's announcement to LLVM developers, "libclc is designed to be portable and extensible. To this end, it provides generic implementations of most library requirements, allowing the target to override the generic implementation at the granularity of individual functions."

The project creator, Peter Collingbourne, additionally writes:
An example of such a host library is NVIDIA's OpenCL host library for PTX -- the intention is to at some point provide a mechanism for using the NVIDIA implementation of OpenCL with Clang, libclc and LLVM's PTX backend instead of NVIDIA's own OpenCL compiler. Another example would be POCL's host library, and the POCL developers have expressed an interest in using libclc as their OpenCL C library instead of developing their own.

I will hope to find time over the next few weeks to add libclc support to the Clang driver.

At least things are finally beginning to heat-up for OpenCL in the Linux and open-source worlds. 2012 should be an interesting year, assuming the open-source GPU drivers manage to get OpenCL working properly in a modest manner over Gallium3D. There's still at least one related announcement expected before year's end.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week