Terminology and Resources

Java Bindings

Foreign Function and Memory API (FFM) Module (built-in)

  • OpenCL: 2.2

  • Baseline: Java 26 (preview)

  • JVM Options: --enable-preview --add-modules jdk.incubator.vector

As generated via jextract.

(e.g. get jextract from https://jdk.java.net/jextract/)

Generating OpenCL Java sources (using ROCm 7.14 on Debian)
cd /tmp
mkdir generated
jextract \
  --output generated \
  --target-package jcompute.opencl.ffm
  -I/opt/rocm/include \
  -I/opt/rocm/include/CL \
  /opt/rocm/include/CL/opencl.h

JavaCPP(org.bytedeco)

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>opencl-platform</artifactId>
    <version>3.0-1.5.7</version>
</dependency>

Jocl (jogamp)

<dependency>
    <groupId>org.jogamp.jocl</groupId>
    <artifactId>jocl</artifactId>
    <version>2.3.2</version>
</dependency>

Jocl (org.jocl)

<dependency>
    <groupId>org.jocl</groupId>
    <artifactId>jocl</artifactId>
    <version>2.0.4</version>
</dependency>

Nativelibs4java/JavaCL

<dependency>
    <groupId>com.nativelibs4java</groupId>
    <artifactId>javacl</artifactId>
    <version>1.0.0-RC4</version>
</dependency>