Skip to content

Libraries

doe300 edited this page Feb 9, 2022 · 8 revisions

The following list of OpenCL libraries has been taken from List of libraries and List of OpenCL applications as well as very coarse google searches.

Working libraries

Lists all (fully) working libraries, which have been tested in productive use.

Partially working libraries

  • CLPeak: OpenCL application to test GPU peak performance

    NOTE: double and half benchmarks not supported

  • sycl-gtx: Open-source implementation of SYCL 1.2

Runs the tests

Lists all libraries for which all OpenCL relevant test-cases run successfully.

To be tested

  • cltorch: OpenCL backend for torch NN framework

  • Caffe: built-in OpenCL backend for caffe NN framework

  • OpenCL-caffe: OpenCL backend for caffe NN framework

  • boost compute: boost-library for general purpose calculations on GPU

    NOTE: Some kernels require long to be supported

  • CLTune: auto-tuning for OpenCL kernels

    NOTE: Sample-programs allocate too much memory without checking the device memory

  • DeepCL: OpenCL NN framework

  • ViennaCL: math libraries

    NOTE: Some test-cases require fixed local sizes of more than 12 work-items

  • clMath Libraries

    NOTE: clFFT uses too large work-group sizes NOTE: clRNG throws compilation errors: #error "This code has only been tested on x86 and powerpc platforms." NOTE: clBLAS fails to compile for some examples, rebuilds clBLAS on every make invokation. Kernel compilation fails with "unknown argument '-g'"

  • Advanced Simulation Library

  • OpenCV 3.x: OpenCV image manipulation

    NOTE: some kernels require work-group size of 256 and/or double data-type

  • vattenoverhuvudet: Fluid Simulation

    NOTE: Some kernels have compilation errors (in LLVM-frontend)

  • spimagine: OpenCL accelerated volume rendering in python

  • gputools: OpenCL accelerated volume processing in python

  • HandBrake: Video transcoder

    TODO: Kernels compile, test execution

  • bfgminer: Hash miner

  • rendergirl: OpenCL ray-tracer

    NOTE: Visual C++ only project

  • JohnTheRipper: Password cracker

    NOTE: Some kernels require long to be supported

  • rodinia. Benchmark suite

    NOTE: Some kernels require double or long to be supported

  • hashcat: Password recovery util

    NOTE: Some kernels require long to be supported https://hashcat.net/wiki/doku.php?id=example_hashes

  • OpenCLIPP: image processing library

    NOTE: Has build errors, unresolved references

  • Paralution: parallel computation library

  • VexCL: C++ vector expression library

  • clnn: OpenCL backend for torch NN framework

  • Wolfram: mathematical computation library with optional OpenCL support, OpenCL library

  • Halide: image processing DSL

  • EasyCL: wrapper around OpenCL for easier usage

  • Bolt: C++ template library for hetegerogeneous computing

    NOTE: downloads and compiles all dependencies, even if packages exist

  • paralultion: C++ sparse iterative solver library

  • AMGCL: C++ header-only solver for large sparse linear systems

  • CLBlast: Tuned OpenCL BLAS library

  • libxcam: image quality improvement library

    NOTE: requires DRM library

  • FFmpeg: multimedia codecs

  • SyclParallelSTL: OpenCL based implementation of parallel STL C++ Technical Specification

  • OpenCL test-suite

  • parallelSTL: Parallel STL implementation based on SYCL

  • GEGL: GIMP's image processing library

Won't work

  • BulletCL (Bullet 3)

    Reason: Requires 64 work-items per work-group (we only support 12) TODO: not for all kernels?

  • cp2k: Molecular Dynamics

    Reason: Requires the double data-type

  • octopus: Scientific virtual experimentation

    Reason: Requires the double data-type

  • clDNN: Compute library for deep neuronal networks

    Reason: "Uses several Intel extensions and requires the Intel graphics driver to run"

  • MIOpen: AMD's Machine Intelligence Library

    Reason: No ROCm enabled compiler for Raspbian/VideoCore IV

  • Zeta: OpenCL chess engine

    Reason: requires work-group size of 64 work-items

  • WeeChess: OpenCL chess engine

    Reason: compilation errors in C++ code

  • CLSmith

    Reason: compilation errors in asm code (not compatible with ARM?)

Clone this wiki locally