LIBCLC: An OpenCL C Library Implementation

Posted by Michael Larabel on October 19, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Linux's "Ondemand" Governor Is No...
  2. A New X.Org-Free Wayland LiveCD Released
  3. Microsoft Releases Skype For Linux 4.2, Has...
  4. Unity 8, Mir Made Progress This Week On Features
  5. Linux Desktop Security Could Be A Whole Lot Better
  6. AMD RadeonSI Gallium3D Begins Simple CL Demos
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite