TornadoVM
TornadoVM copied to clipboard
Code gen issue in the JDK 22 branch for matrix multiplication unit-test that uses the Kernel API
Describe the bug
I tried the experimental branch of TornadoVM working with JDK 22, and I noticed that one of the unit-tests that belongs to the white-list group, is not generating a kernel for all backends.
How To Reproduce
I have built TornadoVM as follows:
git checkout feat/jdk22_2nd_iteration
rm -rf graalJars/
./bin/tornadovm-installer --jdk sapmachine-jdk-22 --backend opencl && source setvars.sh
tornado --version
returns
version=1.0.7-dev
branch=feat/jdk22_2nd_iteration
commit=dec5a87
Backends installed:
- opencl
I ran the mxm2DKernelContext02()
test from the TestMatrixMultiplicationKernelContext.java class, and got the output as follows:
tornado --printKernel --jvm "-Xmx6g -Dtornado.recover.bailout=False -Dtornado.unittests.verbose=True " -m tornado.unittests/uk.ac.manchester.tornado.unittests.tools.TornadoTestRunner --params "uk.ac.manchester.tornado.unittests.kernelcontext.matrices.TestMatrixMultiplicationKernelContext#mxm2DKernelContext02"
WARNING: Using incubator modules: jdk.incubator.vector
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
Test: class uk.ac.manchester.tornado.unittests.kernelcontext.matrices.TestMatrixMultiplicationKernelContext#mxm2DKernelContext02
Running test: mxm2DKernelContext02 ................ [FAILED]
\_[REASON] Unable to build sketch for method: matrixMultiplication2D02(jdk.graal.compiler.debug.GraalError: failed guarantee: Adding 40|LocalArray to the graph but its input -1|Constant(16, i32) is not alive)
Test ran: 1, Failed: 1, Unsupported: 0
Expected behavior
The expected behavior is to generate the kernels for all backends, as is in the develop
branch.
Computing system setup (please complete the following information):
- OS:
Ubuntu 23.10
- OpenCL version:
OpenCL 1.2
- Driver:
n/a
- TornadoVM commit id:
dec5a87
from branchfeat/jdk22_2nd_iteration