TornadoVM drops Graal and now translates Java into GPU code on its own
Version 8.0 of the open source project brings its own compiler that turns Java kernels into CUDA, OpenCL or Metal, without developers having to change their code.
TornadoVM, an open source project that lets Java programs offload computation to graphics processors, has released version 8.0. The main new feature is TC, a compiler written in pure Java that translates Java kernels into CUDA C++, OpenCL C or Metal Shading Language. TC replaces the Graal compiler and the JVMCI compiler interface the project relied on for around ten years, InfoQ reports in its weekly Java roundup.
According to InfoQ, developers do not need to change their code: classes such as TaskGraph and KernelContext and annotations such as @Parallel and @Reduce keep working. Because the project no longer depends on JVMCI, it can also use GraalVM Native Image and Project Leyden's AOT caching to start up faster.
The release notes on GitHub show that TornadoVM is also moving to the Apache 2.0 licence and gains new features for CUDA, cuDNN and OpenCL. The packages are available for JDK 21, 25, 26 and 27, in variants for OpenCL, CUDA, Metal or all three combined.