TornadoVM 7.3 brings hybrid GPU execution and FFM API integration to Java
TornadoVM, an open-source heterogeneous GPU programming framework for Java, has reached version 7.3, introducing deep architectural changes that replace the Java Native Interface with the Foreign Function and Memory API. InfoQ previously covered the project in December 2025 and in 2022. The release brings optimized Nvidia CUDA backend integration, multi-GPU execution support, and a single uniform compiler metadata path across OpenJDK versions 21, 25, 26, and 27.
Architectural shift replaces JNI with FFM API
Version 7 drops the experimental JVM Compiler Interface dependency entirely. The project team configured the backends to source all compiler metadata through a reflection, ASM, and Unsafe layer. This update establishes a uniform execution path on every supported JDK distribution, including OpenJDK, GraalVM, Temurin, and Zulu. The transition from JNI to the Foreign Function and Memory API streamlines how Java applications interact with native accelerator code.
TornadoVM adds support for CUDA and Metal libraries
The updated CUDA backend adds support for the cuTile programming model via a new TileContext. Developers can now call CUDA libraries such as cuBLAS and CUTLASS directly inside TornadoVM TaskGraphs. This architecture allows developers to swap just-in-time generated kernels for native library calls, or chain both execution methods together. TornadoVM applies a similar hybrid API integration for Apple’s MXL library on Apple Metal backends.
Multi-GPU support targets data-parallel workloads
The framework automatically accelerates Java programs on multi-core CPUs and GPUs by offloading eligible Java code to hardware backends and managing memory between the Java heap and accelerators. Data-parallel workloads, such as loops without iteration dependencies, deliver the highest performance gains because their individual iterations run concurrently on the accelerator hardware.
Java ecosystems and inference engines adopt the framework
Library integrations connect TornadoVM with frameworks such as Quarkus, Lang4j, Flink, and Spring AI. Apache Flink integration allows developers to write standard queries using the Table API and apply a configuration flag to route computations to an available GPU node. Alongside the core framework update, the TornadoVM team released jitLLM v2.0, a Java AI inference engine packaged as a single JAR file that competes directly with llama.cpp and Ollama. Both technologies are commercialized through Beestream.ai, a spin-off founded by the TornadoVM development team.
A new TileContext API in TornadoVM's CUDA backend! Write tile kernels in plain Java and let @nvidia's cuTile compiler pick the threads, layouts and tensor-core instructions. No PTX, no warps.PR is open – feedback welcome 👇https://t.co/nbca2F9VXz#Java #TornadoVM #GPU https://t.co/mwJUpCJPlf
Keep reading