TornadoVM icon indicating copy to clipboard operation
TornadoVM copied to clipboard

Factory methods for some of the types fail the JIT compiler

Open jjfumero opened this issue 4 months ago • 0 comments

Describe the bug

$ tornado-test -V --fast uk.ac.manchester.tornado.unittests.api.TestInitDataTypes#testInitByteArray

tornado --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.api.TestInitDataTypes#testInitByteArray"
WARNING: Using incubator modules: jdk.incubator.vector
java.lang.NoSuchFieldException: value
	at java.base/java.lang.Class.getDeclaredField(Class.java:2782)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.lookupField(TornadoTaskSpecialisation.java:103)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.lookupField(TornadoTaskSpecialisation.java:109)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.lookupField(TornadoTaskSpecialisation.java:109)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.lookupPrimField(TornadoTaskSpecialisation.java:140)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.evaluate(TornadoTaskSpecialisation.java:230)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.lambda$propagateParameters$4(TornadoTaskSpecialisation.java:301)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.propagateParameters(TornadoTaskSpecialisation.java:300)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.run(TornadoTaskSpecialisation.java:319)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.phases.TornadoTaskSpecialisation.run(TornadoTaskSpecialisation.java:69)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:434)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:322)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.PhaseSuite.run(PhaseSuite.java:390)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:434)
	at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:322)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.compiler.OCLCompiler.emitFrontEnd(OCLCompiler.java:180)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.compiler.OCLCompiler.compile(OCLCompiler.java:126)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.compiler.OCLCompiler$Request.execute(OCLCompiler.java:509)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.graal.compiler.OCLCompiler.compileSketchForDevice(OCLCompiler.java:386)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.runtime.OCLTornadoDevice.compileTask(OCLTornadoDevice.java:261)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.runtime.OCLTornadoDevice.compileJavaToAccelerator(OCLTornadoDevice.java:335)
	at [email protected]/uk.ac.manchester.tornado.drivers.opencl.runtime.OCLTornadoDevice.installCode(OCLTornadoDevice.java:462)
	at [email protected]/uk.ac.manchester.tornado.runtime.interpreter.TornadoVMInterpreter.compileTaskFromBytecodeToBinary(TornadoVMInterpreter.java:639)
	at [email protected]/uk.ac.manchester.tornado.runtime.interpreter.TornadoVMInterpreter.execute(TornadoVMInterpreter.java:335)
	at [email protected]/uk.ac.manchester.tornado.runtime.interpreter.TornadoVMInterpreter.execute(TornadoVMInterpreter.java:873)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:1024)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
	at [email protected]/uk.ac.manchester.tornado.runtime.TornadoVM.executeSingleThreaded(TornadoVM.java:122)
	at [email protected]/uk.ac.manchester.tornado.runtime.TornadoVM.execute(TornadoVM.java:111)
	at [email protected]/uk.ac.manchester.tornado.runtime.tasks.TornadoTaskGraph.scheduleInner(TornadoTaskGraph.java:813)
	at [email protected]/uk.ac.manchester.tornado.runtime.tasks.TornadoTaskGraph.schedule(TornadoTaskGraph.java:1278)
	at [email protected]/uk.ac.manchester.tornado.api.TaskGraph.execute(TaskGraph.java:776)
	at [email protected]/uk.ac.manchester.tornado.api.ImmutableTaskGraph.execute(ImmutableTaskGraph.java:49)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at [email protected]/uk.ac.manchester.tornado.api.TornadoExecutionPlan$TornadoExecutor.execute(TornadoExecutionPlan.java:349)
	at [email protected]/uk.ac.manchester.tornado.api.TornadoExecutionPlan.execute(TornadoExecutionPlan.java:97)
	at [email protected]/uk.ac.manchester.tornado.unittests.api.TestInitDataTypes.testInitByteArray(TestInitDataTypes.java:50)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at [email protected]/org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at [email protected]/org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at [email protected]/org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at [email protected]/org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at [email protected]/org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at [email protected]/org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at [email protected]/org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at [email protected]/org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at [email protected]/org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at [email protected]/org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at [email protected]/org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at [email protected]/org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at [email protected]/org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at [email protected]/org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at [email protected]/org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at [email protected]/org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at [email protected]/org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at [email protected]/org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at [email protected]/org.junit.runner.JUnitCore.run(JUnitCore.java:115)
	at [email protected]/uk.ac.manchester.tornado.unittests.tools.TornadoHelper.runTestVerbose(TornadoHelper.java:152)
	at [email protected]/uk.ac.manchester.tornado.unittests.tools.TornadoTestRunner.main(TornadoTestRunner.java:36)
Test: class uk.ac.manchester.tornado.unittests.api.TestInitDataTypes#testInitByteArray
	Running test: testInitByteArray          ................  [FAILED] 

How To Reproduce

Use this branch:

https://github.com/jjfumero/TornadoVM/tree/feat/api/factory

Computing system setup (please complete the following information):

  • OS: Fedora 39 Linux xps8950 6.6.14-200.fc39.x86_64
  • OpenCL and Driver versions: NVIDIA OpenCL 3.0 CUDA
  • If applicable, PTX and CUDA Driver versions: CUDA 545.29.02
  • If applicable, Level Zero & SPIR-V Versions (Not applicable)
  • TornadoVM commit id: 77dfc9b9fadb1c0dfc379427694f440562c497e6

jjfumero avatar Feb 21 '24 14:02 jjfumero