libCL closely integrates with OpenCL Studio via the libBind library. All of the demo applications bundled with OpenCL Studio are built upon libCL.

About

libCL is an open-source library for high performance computing in OpenCL. Rather than a specific domain, libCL intends to encompass a wide range of parallel algorithms. The goal is to provide a comprehensive repository of kernels and data structures for visual-centric computing ranging from fundamental primitives such as sorting, searching and algebra to advanced systems of algorithms for computational research and visualization.

Features

libCL provides a core set of C++ classes that encapsulate the OpenCL API and provide a simple error handling and logging infrastructure. Based upon this core functionality are implementations of specific algorithms categorized within different subdirectories:

color\

  • Color conversion and quantification

filter\

  • Isotropic and anisotropic convolution and bilateral filtering
  • Tangent space computation and line integral convolution
  • Bilateral grid
  • Bilinear pyramid
  • Sobel filter

phys\

  • Smoothed particle hydrodynamics (video)

sort\

  • Radix sort

geom\

  • Triangle mesh bounding volume hierarchy construction (video)

image\

  • Screen space ambient occlusion
  • Bloom effect

math\

  • Vector operations

util\

  • memory initialization