# beehive-lab/TornadoVM

Write Java. Run on GPUs. Fast.

Repository: https://github.com/beehive-lab/TornadoVM
Canonical: https://ross.abutalabs.com/products/tornadovm
Homepage: https://www.tornadovm.org
Language: Java
License: Apache-2.0
License Family: permissive
Topics: opencl, java, multi-core, graalvm, gpus, gpu-computing, cuda, gpu-acceleration, levelzero, ai, parallel-computing, parallel-programming, nvidia, cuda-programming
Last push: 2026-08-26T13:56:01+00:00

## Health v2 (maintenance only)
Score: 97/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 94, longevity 100
- inputs: {"age_days": 2917, "days_push": 7, "days_rel": 41, "gap_med": 8, "n_releases_24m": 20}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1491, forks 139 (observed 2026-08-28T04:04:52.448095+00:00)

## What it is
TornadoVM is a Java programming framework that JIT-compiles JVM bytecode into GPU kernels targeting NVIDIA CUDA, OpenCL, and Apple Metal at runtime. It lets developers write parallel kernels in pure Java and execute them on NVIDIA, AMD, Intel, and Apple Silicon GPUs as well as multi-core CPUs, with automatic device memory management and native integration of cuBLAS, cuFFT, and cuDNN.

## Use cases
- accelerate Java code on GPUs without writing CUDA C
- run LLM inference in pure Java on NVIDIA GPUs
- write parallel kernels in Java that run on CUDA, OpenCL, and Metal
- use cuBLAS, cuFFT, and cuDNN from Java without JNI bindings
- run the same Java kernel across NVIDIA, AMD, Intel, and Apple Silicon GPUs
- access NVIDIA Tensor Core instructions from Java
- offload compute-heavy Java workloads to integrated GPUs and multi-core CPUs

## When to choose
- you want GPU acceleration for Java applications without maintaining native code or JNI bindings
- you need a single Java codebase to run across multiple GPU vendors and backends
- you want to build LLM inference or ML workloads in pure Java on GPUs
- you prefer staying within the JVM/Maven toolchain while getting near-native GPU performance

## When to avoid
- your project is not on the JVM or you need fine-grained control over CUDA C kernels
- you need mature ecosystem support beyond what a specialized framework provides
- your target hardware has no supported backend or you need non-NVIDIA library integrations beyond cuBLAS/cuFFT/cuDNN

## Facets
- artifact type: framework
- maturity: active
- function: gpu-computing, compiler, llm-inference, machine-learning
- domain: gpu-computing, machine-learning, developer-tools, large-language-models
- platform: jvm, windows
- tags: opencl, cuda, metal, graalvm, jit-compilation, tensor-cores, cublas, cudnn, parallel-programming, apple-silicon, linux, macos, gpu

## Member repositories
- beehive-lab/TornadoVM (main) score 97

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:52.448095+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:33:33.629061+00:00, confidence not recorded.
  - readme: https://github.com/beehive-lab/TornadoVM (fetched 2026-08-28T04:04:52.448095+00:00, sha ef08617944af)
  - homepage: https://www.tornadovm.org (fetched 2026-08-29T11:39:16.508864+00:00, sha 9610ef35c43d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
