-
Notifications
You must be signed in to change notification settings - Fork 80
Libraries
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.
Lists all (fully) working libraries, which have been tested in productive use.
-
CLPeak: OpenCL application to test GPU peak performance
NOTE:
double
andhalf
benchmarks not supported -
sycl-gtx: Open-source implementation of SYCL 1.2
Lists all libraries for which all OpenCL relevant test-cases run successfully.
-
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
-
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'" -
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
orlong
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
-
parallelSTL: Parallel STL implementation based on SYCL
-
GEGL: GIMP's image processing library
-
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
-
Reason: compilation errors in asm code (not compatible with ARM?)