TornadoVM icon indicating copy to clipboard operation
TornadoVM copied to clipboard

Execution with Graal 22.0.1 fails

Open jjfumero opened this issue 9 months ago • 1 comments

Describe the bug

The build is ok, but when it runs, it prints the following error:

make tests
rm -f tornado_unittests.log
tornado --devices
WARNING: Using incubator modules: jdk.incubator.vector

Number of Tornado drivers: 1
Driver: OpenCL
  Total number of OpenCL devices  : 2
  Tornado device=0:0  (DEFAULT)
	OPENCL --  [NVIDIA CUDA] -- NVIDIA GeForce RTX 3070
		Global Memory Size: 7.8 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

  Tornado device=0:1
	OPENCL --  [Intel(R) OpenCL HD Graphics] -- Intel(R) UHD Graphics 770
		Global Memory Size: 24.9 GB
		Local Memory Size: 64.0 KB
		Workgroup Dimensions: 3
		Total Number of Block Threads: [512]
		Max WorkGroup Configuration: [512, 512, 512]
		Device OpenCL C version: OpenCL C 1.2


tornado-test --ea --verbose
tornado -ea  --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.foundation.TestIntegers"
WARNING: Using incubator modules: jdk.incubator.vector

WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
Test: class uk.ac.manchester.tornado.unittests.foundation.TestIntegers
	Running test: test01                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: copyTestZero(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test02                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: copyTest(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test03                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: copyTest2(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test04                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: compute(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test05                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: init(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test06                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: init(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	Running test: test07                     ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: init(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
Test ran: 7, Failed: 7, Unsupported: 0

Cause:

est: class uk.ac.manchester.tornado.unittests.foundation.TestShorts
	Running test: testShortAdd               ................  [FAILED] 
		\_[REASON] Unable to build sketch for method: vectorSumShortCompute(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	uk.ac.manchester.tornado.api.exceptions.TornadoBailoutRuntimeException: Unable to build sketch for method: vectorSumShortCompute(Cannot invoke "jdk.vm.ci.meta.ResolvedJavaType.getAnnotation(java.lang.Class)" because the return value of "jdk.graal.compiler.core.common.type.ObjectStamp.type()" is null)
	at [email protected]/uk.ac.manchester.tornado.runtime.sketcher.TornadoSketcher.buildSketch(TornadoSketcher.java:190)
	at [email protected]/uk.ac.manchester.tornado.runtime.sketcher.TornadoSketcher$TornadoSketcherCallable.call(TornadoSketcher.java:262)
	at [email protected]/uk.ac.manchester.tornado.runtime.sketcher.TornadoSketcher$TornadoSketcherCallable.call(TornadoSketcher.java:252)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1570)

How To Reproduce

In the jdk22 branch:

make 
make tests

Computing system setup (please complete the following information):

  • OS: Fedora 39
  • OpenCL and Driver versions
  • If applicable, PTX and CUDA Driver versions
  • If applicable, Level Zero & SPIR-V Versions
  • TornadoVM commit id: 13e63c912

Additional context

n/ a.

jjfumero avatar May 07 '24 07:05 jjfumero

Thanks @jjfumero, I will get into this issue

mikepapadim avatar May 08 '24 11:05 mikepapadim

I will close this issue. since the JDK 22 branch contains the fix

jjfumero avatar Aug 12 '24 13:08 jjfumero