Java bindings for OpenCL

This site contains Java bindings for OpenCL, the Open Computing Language. OpenCL allows writing programs for heterogeneous platforms that utilize CPUs or GPUs. More information about OpenCL may be found at the Khronos OpenCL website.

The following implementations of OpenCL are currently available:

General information about Java bindings for OpenCL

There are several libraries providing Java bindings for OpenCL. Here is an overview of some of these libraries:

As an alternative for Java developers who want to benefit from the computing power of their GPU without having to learn OpenCL, there is a library called Aparapi: It allows a seamless integration of GPU workloads into Java Code. The Java bytecode will be converted into OpenCL code and executed on the GPU, transparently for the user. Even if there is no OpenCL implementation, the same code will still run on the CPU in a Java Thread Pool, taking advantage of multiple CPU cores.

Source code repository

The main channel for downloads of binaries and source code archives is the downloads section of this website.

The source code of JOCL is also available at GitHub:


2015-02-04: Update to version 0.2.0-RC (Release Candidate)

2014-10-22: Scala samples uploaded

2013-04-05: Update to version 0.1.9

2012-08-22: Version 0.1.8 (Release Candidate)
2012-07-16: OpenCL cloth simulation demo updated
2012-05-07: OpenCL cloth simulation demo updated
2011-10-19: OpenCL cloth simulation demo uploaded
A small demo application has been uploaded that performs a simple cloth simulation with OpenCL: JOCL Cloth simulation demo
2011-08-23: Version 0.1.7
2011-08-23: Samples updated
2011-03-30: Version 0.1.6
2011-03-28: Version 0.1.5 available in the Maven repository

2011-03-14: Update to version 0.1.5 - fixed memory leak

2011-02-14: Linux 32bit library added

2011-02-01: JOCL is now available via the Central Maven Repository

(Change log)