TornadoVM 5.1.0-jdk21
17/07/26
Improvements
- #929: Add FP8 (E4M3/E5M2) support for the CUDA backend + fix NaN/Infinity float constants
- #928: Add FP8 (E4M3/E5M2) support for the CUDA backend + fix NaN/Infinity float constants
- #934: Auto-disable intra-plan concurrency on serial task graphs
- #937: Stage large H2D transfers through a pinned host buffer ring
- #936: Stage large H2D transfers through a pinned host buffer ring
- #935: Auto-disable intra-plan concurrency on serial task graphs
- #919: [cuda] NVTX instrumentation for library tasks + cuSPARSE hybrid provider (SpMV/SpMM)
- #912: [cuda] CUTLASS hybrid-API provider: FP32/FP16 GEMM + fused bias/ReLU/GELU epilogues as library tasks
Compatibility
- #938: [docs] Revision of the documentation page for v5.0.0
- #925: [ci] Fix release pipeline triggers, rename pipeline stages, skip redundant CI
Bug Fixes
- #945: [fix] Restore cutlass-jni build on GCC 15+ hosts (-Wtemplate-body)
- #932: Fix vmDeps path to dispatch KernelContext/WorkerGrid kernels
- #933: Fix vmDeps path to dispatch KernelContext/WorkerGrid kernels
- #910: [cuda] Fix misleading NVRTC compilation errors: memoized FP16 header resolution + explanatory driver/toolkit diagnostics
Other Changes
- #946: [fix] Restore cutlass-jni build on GCC 15+ hosts (-Wtemplate-body)
- #921: [fix] Windows support for the CUDA backend (build, runtime DLL resolution, correctness)
- #943: Backport Cuda windows to jdk25
- #944: Backport Docs to jdk25
- #927: Backport Nvtx cusparse to jdk25
- #926: Back port Hybrid cutlass to jdk25
- #916: [docs] Complete hybrid API guide (HYBRID_API_GUIDE.md): all providers, examples, flags, custom-provider walkthrough
- #923: [cleanup] remove deprecated files
- #924: [cleanup] remove deprecated files
- #911: [cuda] Fix misleading NVRTC compile-error logging and drop the cuda_fp16.h include dependency
- #915: [docs] Complete hybrid API guide (HYBRID_API_GUIDE.md): all providers, examples, flags, custom-provider walkthrough
How to use TornadoVM SDK
To use the TornadoVM SDK, ensure that the environment variable JAVA_HOME points to a valid JDK 21 installation. After that, select the appropriate sdk distribution for your target architecture and the accelerator backends you intend to use.
Linux Systems
wget https://github.com/beehive-lab/TornadoVM/releases/download/v5.1.0-jdk21/tornadovm-5.1.0-jdk21-opencl-linux-amd64.zip
unzip tornadovm-5.1.0-jdk21-opencl-linux-amd64.zip
export TORNADOVM_HOME="$(pwd)/tornadovm-5.1.0-jdk21-opencl"
export PATH=$TORNADOVM_HOME/bin:$PATH
tornado --devices
tornado --versionmacOS Systems
wget https://github.com/beehive-lab/TornadoVM/releases/download/v5.1.0-jdk21/tornadovm-5.1.0-jdk21-opencl-mac-aarch64.zip
unzip tornadovm-5.1.0-jdk21-opencl-mac-aarch64.zip
export TORNADOVM_HOME="$(pwd)/tornadovm-5.1.0-jdk21-opencl"
export PATH=$TORNADOVM_HOME/bin:$PATH
tornado --devices
tornado --versionWindows (10+) Systems
curl -L -o tornadovm-5.1.0-jdk21-opencl-windows-amd64.zip https://github.com/beehive-lab/TornadoVM/releases/download/v5.1.0-jdk21/tornadovm-5.1.0-jdk21-opencl-windows-amd64.zip
tar -xf tornadovm-5.1.0-jdk21-opencl-windows-amd64.zip
set TORNADOVM_HOME=%cd%\tornadovm-5.1.0-jdk21-opencl
set PATH=%TORNADOVM_HOME%\bin;%PATH%
tornado --devices
tornado --version