Exception java.lang.NoSuchMethodError: uk.ac.manchester.tornado.api.exceptions.Debug.tprintf(Ljava/lang/String;[Ljava/lang/Object;) #475
-
Hi. I am working on implementation of the LLM inference engine using TornadoVM, and of course, I had to create a test configuration that runs tests inside the Gradle. I have generated JVM parameters according to the source code of the And though the
Which seems logical because this method does absent in provided class. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 37 replies
-
Hi @andrii0lomakin . I have little experience with Gradle, but just a few things that can help:
For example, for my configuration using the OpenCL backend, I got all these flags: $ tornado --printJavaFlags
/home/juan/repos/tornadovm/etc/dependencies/TornadoVM-graalvm-jdk-21/graalvm-community-openjdk-21.0.1+12.1//bin/java -server -XX:-UseCompressedOops -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseCompressedClassPointers --enable-preview -Djava.library.path=/home/juan/repos/tornadovm/bin/sdk/lib --module-path .:/home/juan/repos/tornadovm/bin/sdk/share/java/tornado -Dtornado.load.api.implementation=uk.ac.manchester.tornado.runtime.tasks.TornadoTaskGraph -Dtornado.load.runtime.implementation=uk.ac.manchester.tornado.runtime.TornadoCoreRuntime -Dtornado.load.tornado.implementation=uk.ac.manchester.tornado.runtime.common.Tornado -Dtornado.load.annotation.implementation=uk.ac.manchester.tornado.annotation.ASMClassVisitor -Dtornado.load.annotation.parallel=uk.ac.manchester.tornado.api.annotations.Parallel -XX:+UseParallelGC @/home/juan/repos/tornadovm/bin/sdk/etc/exportLists/common-exports @/home/juan/repos/tornadovm/bin/sdk/etc/exportLists/opencl-exports --add-modules ALL-SYSTEM,tornado.runtime,tornado.annotation,tornado.drivers.common,tornado.drivers.opencl
Let us know if this helps. |
Beta Was this translation helpful? Give feedback.
-
I forgot to mention that the flags depend on the backend you have installed. The ones I showed are specific for the OpenCL backend and my configuration. If you compiled with the PTX or SPIR-V, you will see a couple of different flags. The way to query is via $ tornado --printJavaFlags |
Beta Was this translation helpful? Give feedback.
-
For reference, @mikepapadim , core member of the TornadoVM team, extended LLM Llama2.java with TornadoVM: https://github.com/mikepapadim/llama2.tornadovm.java This project uses Maven, but it can serve as reference. |
Beta Was this translation helpful? Give feedback.
-
BTW you disable compressed pointers. Is this option really needed? Imagine an application that uses TornadoVM as an embedded inference engine; would it not cause an explosion in heap consumption? |
Beta Was this translation helpful? Give feedback.
Can you run with these flags?
tornado -ea
enables assertions and disables the ones for the Graal Compiler.So you can use: