TornadoVM is an open-source framework that works alongside existing JVM distributions to automatically offload Java code to hardware accelerators like GPUs. Version 7 aims to make the JVM a more viable platform for modern AI and cloud computing tasks.
The release replaces the previous JNI dependency with the FFM API and has removed the experimental JVMCI dependency. It now sources compiler metadata through reflection and an Unsafe layer, providing a uniform path across JDK versions 21, 25, 26, and 27. A headline feature is a deeply optimized CUDA backend that allows developers to call libraries such as cuBLAS and CUTLASS directly from TornadoVM TaskGraphs. This enables the swapping of JIT-generated kernels for hand-tuned Nvidia library calls to improve performance.
Version 7.3 introduces a new cuTile programming model via the TileContext for Nvidia hardware, along with multi-GPU execution support and similar integration for Apple's MXL library. The project aims to provide an idiomatic Java environment for accessing Nvidia's tuned libraries for linear algebra, Fast Fourier Transforms, and deep neural networks.
The framework integrates with tools including Apache Flink, Quarkus, and Spring AI. According to the team, a developer using Flink's Table API could use a configuration flag to signal a query for GPU acceleration, with the runtime evaluating the query's intermediate representation for suitability. TornadoVM offers several approaches for GPU programming, including a parallel annotation API, a kernel context API, and the new TileContext.
Alongside the TornadoVM release, the team introduced jitLLM v2.0, a Java-based AI inference engine built on TornadoVM. It is positioned as a direct competitor to llama.cpp and Ollama. The technology is being commercialized through a spin-off company, Beestream.ai.
