TornadoVM · jitLLM · Enterprise support

Any AI Java workload on any GPU. Fast. Ready for production.

beestream.ai is the company behind TornadoVM and jitLLM. TornadoVM accelerates compute-heavy Java code of any kind, from data analytics and financial models to simulation, image and signal processing. jitLLM builds on it to run LLMs in pure Java. Take one or both, on NVIDIA, AMD, Intel and Apple hardware, with no JNI glue and no second toolchain.

The stackyour code → our runtime → any accelerator
Your Java applicationMaven · Gradle · Spring · Quarkus
jitLLMoptional · LLM inference in pure Java
TornadoVMJIT: bytecode → GPU code · cuBLAS · cuDNN
Your production JVMOpenJDK · GraalVM
CUDA COpenCLMetal

NVIDIA · AMD · Intel · Apple Silicon

10+ yearsof Java compiler and GPU research
1.5k ★TornadoVM on GitHub
3 backendsCUDA C · OpenCL · Metal
74×SGEMV speed-up over sequential Java
Products

Two products. Take one or both.

TornadoVM accelerates general Java workloads on its own. jitLLM builds on TornadoVM for LLM inference. Both are open source, and we offer the builds, support and engineering that companies need to run them in production.

GPU acceleration for any Java workload

TornadoVM

A JIT compiler and runtime that turns Java bytecode into CUDA C, OpenCL and Metal code, and calls cuBLAS, cuFFT and cuDNN directly from your Java task graph. Use it on its own for analytics, finance, simulation, media or machine learning.

Java · TaskGraphHybridSgemv.java
TaskGraph tg = new TaskGraph("cuBLAS")
    .transferToDevice(EVERY_EXECUTION, matrix, vector)
    .task("preprocess", MyClass::preprocess, matrix)  // JIT-compiled Java
    .libraryTask("sgemv", CuBlas::cublasSgemv,       // native cuBLAS
            CUBLAS_OP_T.operation(), m, n, alpha,
            matrix, lda, vector, incx, beta, output, incy)
    .task("postprocess", MyClass::postprocess, output)
    .transferToHost(EVERY_EXECUTION, output);
  • Loop Parallel, Kernel, Tile and Hybrid APIs, all in plain Java
  • CUDA Graphs, streams and Tensor Core MMA on NVIDIA
  • Installs in one line with SDKMAN!; keeps your Maven build
Add-on for LLM inference · built on TornadoVM

jitLLMformerly GPULlama3.java

An LLM inference engine written entirely in Java and accelerated by TornadoVM. It loads GGUF models and runs them on your GPU inside the same JVM as the rest of your services.

jitLLM · CUDA backendstreaming
model  Llama 3 · GGUF · Q8_0
device NVIDIA GPU · TornadoVM CUDA C backend
› Why run LLM inference inside the JVM?
  • Llama 3, Mistral, Qwen 3, Phi-3 and DeepSeek model families
  • FP16 and Q8 weights with fused dequantize–compute kernels
  • Keeps models, prompts and data on your own hardware
Performance

52× from pure Java. 74× when cuBLAS joins the graph.

Matrix–vector multiplication (y = W·x) on the same device buffers, written three ways with TornadoVM, against plain sequential Java.

SGEMV 8192×2048 · FP32 · effective bandwidth (GB/s), higher is better
Sequential Javabaseline · 8.551 ms
7.9
Loop Parallel API3.309 ms · 2.6×
20.3
Kernel API0.164 ms · 52×
410
Hybrid API + cuBLAS0.116 ms · 74×
578
NVIDIA GeForce RTX 4090 · CUDA 12.6 · 120 iterations, end-to-endSource: tornadovm.org ↗

Runs everywhere

LinuxmacOSWindowsNVIDIAAMDIntelApple Silicon
What we offer

From your first kernel to a production SLA.

You keep writing Java. We make sure it runs on the hardware you have, as fast as that hardware allows.

Support

Enterprise support

Supported TornadoVM builds, with or without jitLLM, plus security fixes and direct access to the engineers who write the compiler.

Acceleration

Performance engineering

We profile your Java workloads, move the hot paths to GPUs and accelerators, and measure every change against your own baseline.

AI

Private LLM inference

Run jitLLM inside your JVM services, so models, prompts and data stay on infrastructure you control.

Enablement

Custom backends & training

New hardware targets, custom kernels and hands-on workshops that get your Java teams productive on GPUs.

Team

The people who built TornadoVM.

We have spent more than twelve years on Java compilers for heterogeneous hardware, from research at The University of Manchester to a JVM plugin used on GPUs, FPGAs and custom accelerators.

Portrait of Christos Kotselidis

Dr Christos Kotselidis

CEO & Co-founderReader in Computer Science · ex Intel, Oracle

Portrait of Thanos Stratikopoulos

Dr Thanos Stratikopoulos

Co-founderPrincipal Software Engineer

Portrait of Mary Xekalaki

Dr Mary Xekalaki

Co-founderPrincipal Software Engineer

Portrait of Orion Papadakis

Dr Orion Papadakis

Co-founderPrincipal Software Engineer

Contact

Bring your Java workload. We'll bring the GPU.

Tell us what you are running and on which hardware. We will come back with where acceleration pays off and what it takes to get there.