TornadoVM icon indicating copy to clipboard operation
TornadoVM copied to clipboard

Support for JDK 24 and migrate to Graal compiler 24.2.0

Open mikepapadim opened this issue 8 months ago • 2 comments

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


mikepapadim avatar Mar 18 '25 21:03 mikepapadim

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.

mikepapadim avatar Mar 19 '25 10:03 mikepapadim

Thanks @mikepapadim for the updates.

jjfumero avatar Mar 19 '25 10:03 jjfumero