TornadoVM
TornadoVM copied to clipboard
Support for JDK 24 and migrate to Graal compiler 24.2.0
This PR is WIP for TornadoVM running with JDK24 and GraalVM 24.0.0.
How to test:
GraalVM version used for initial migration:
wget https://download.oracle.com/graalvm/24/latest/graalvm-jdk-24_linux-x64_bin.tar.gz
make graal-jdk-24 BACKEND=opencl
make tests
make graal-jdk-24 BACKEND=ptx
make tests
make graal-jdk-24 BACKEND=spirv
make tests
Verification:
cmd ➜ tornado -version
WARNING: Using incubator modules: jdk.incubator.vector
java version "24" 2025-03-18
Java(TM) SE Runtime Environment Oracle GraalVM 24+36.1 (build 24+36-jvmci-b01)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 24+36.1 (build 24+36-jvmci-b01, mixed mode)
cmd ➜ tornado --devices
WARNING: Using incubator modules: jdk.incubator.vector
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by uk.ac.manchester.tornado.drivers.opencl.OpenCL in module tornado.drivers.opencl (file:/home/mikepapadim/manchester/TornadoVM/bin/sdk/share/java/tornado/tornado-drivers-opencl-1.0.9-dev.jar)
WARNING: Use --enable-native-access=tornado.drivers.opencl to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::loadLibrary has been called by uk.ac.manchester.tornado.drivers.ptx.PTX in module tornado.drivers.ptx (file:/home/mikepapadim/manchester/TornadoVM/bin/sdk/share/java/tornado/tornado-drivers-ptx-1.0.9-dev.jar)
WARNING: Use --enable-native-access=tornado.drivers.ptx to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled
Number of Tornado drivers: 2
Driver: OpenCL
Total number of OpenCL devices : 1
Tornado device=0:0 (DEFAULT)
OPENCL -- [NVIDIA CUDA] -- NVIDIA GeForce RTX 3070
Global Memory Size: 7.7 GB
Local Memory Size: 48.0 KB
Workgroup Dimensions: 3
Total Number of Block Threads: [1024]
Max WorkGroup Configuration: [1024, 1024, 64]
Device OpenCL C version: OpenCL C 1.2
Driver: PTX
Total number of PTX devices : 1
Tornado device=1:0
PTX -- PTX -- NVIDIA GeForce RTX 3070
Global Memory Size: 7.7 GB
Local Memory Size: 48.0 KB
Workgroup Dimensions: 3
Total Number of Block Threads: [2147483647, 65535, 65535]
Max WorkGroup Configuration: [1024, 1024, 64]
Device OpenCL C version: N/A
Todo:
[] 5 pending tests related to bitset and graphcompiler plugin lowering [] merge with latest develop [] build with openjdk24 and Graal jars. Builds ok but gets runtime errors due to module imports.
Thanks @mikepapadim for the updates.