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 source code of JOCL is available at GitHub:

Maven dependency

JOCL is available in Maven Central, under the following coordinates:

JOCLBlast is available in Maven Central, under the following coordinates:

Further information is available in the Downloads section.


2017-11-15: Release of JOCLBlast 1.2.0

2017-10-25: Release of JOCLBlast 1.1.0

2017-09-06: Release of JOCLBlast 1.0.1

2017-05-25: Release of JOCLBlast

2016-10-04: Release of JOCLBlast

2016-07-06: Release of JOCLBlast

2016-05-23: Release of JOCLBlast

2016-05-12: Release of JOCL and JOCLBlast

2016-04-08: JOCL-based bindings for BLAS libraries

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)