I think we have something broken in TornadoVM. The project seems to have been tested with v1.0.4.
I tried the small refactoring change that we did in the TornadoBackend class (getDeviceCount -> getBackendCounter) in this branch. It now builds, but it throws a compilation error in the sketcher:
tornadovm-ray-tracer
------------------------------------
Running TornadoVM Ray Tracer with GUI...
WARNING: Using incubator modules: jdk.incubator.vector
------------------------------------
Building World:
-> Loading Skybox Image 'Sky.jpg'...
-> Adding object to the scene...
-> Allocating object representation buffers...
------------------------------------
Setting up rendering environment...
Allocating buffers...
Setting up Tornado Task Graph...
WARNING: Code Bailout to Java sequential. Use --debug to see the reason
javafx.fxml.LoadException:
/home/thanos/repositories/TornadoVM-Ray-Tracer/target/classes/com/vinhderful/raytracer/controllers/Main.fxml
at javafx.fxml@19/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2677)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3331)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3287)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3255)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3227)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3203)
at javafx.fxml@19/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3196)
at com.vinhderful.raytracer.controllers.Loading$1.call(Loading.java:63)
at com.vinhderful.raytracer.controllers.Loading$1.call(Loading.java:56)
at javafx.graphics@19/javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at javafx.base@19/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at javafx.fxml@19/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml@19/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2673)
... 12 more
Caused by: uk.ac.manchester.tornado.api.exceptions.TornadoBailoutRuntimeException: Unable to build sketch for method: render(null)
at tornado.runtime@1.0.6-dev/uk.ac.manchester.tornado.runtime.sketcher.TornadoSketcher.buildSketch(TornadoSketcher.java:190)
at tornado.runtime@1.0.6-dev/uk.ac.manchester.tornado.runtime.sketcher.TornadoSketcher$TornadoSketcherCallable.call(TornadoSketcher.java:262)
at tornado.runtime@1.0.6-dev/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)
... 1 more
I think we have something broken in TornadoVM. The project seems to have been tested with
v1.0.4
.I tried the small refactoring change that we did in the TornadoBackend class (getDeviceCount -> getBackendCounter) in this branch. It now builds, but it throws a compilation error in the sketcher:
I am using this TornadoVM specs: