Hands-on Lab120min
From Install to Insight: A Hands-On GPU Lab for Java Developers
Hands-on lab to set up a local GPU-backed LLM in Java using GPULlama3.java, TornadoVM, and DevoxxGenie. Participants install, configure, run, profile, and debug GPU acceleration with TornadoInsight, TornadoPulse, and TornadoViz, gaining a working local inference setup and practical tooling experience.
talk.summaryAiDisclaimer
Thanos StratikopoulosBeestream.ai | TornadoVM
Christos KotselidisBeestream.ai, University of Manchester
Mary Xekalakibeestream.ai | TornadoVM
Michalis PapadimitriouNeo4j | University of Manchester
talkDetail.whenAndWhere
Monday, October 5, 16:50-18:50
BOF 2
Getting a local LLM running on your GPU from Java used to stall at installation: which SDK, which
backend, which JDK flags? Thirteen TornadoVM releases after our last Devoxx, it's a single command.
This hands-on lab shows what changed, on your own laptop.
We walk through the new features, each straight to the console:
• SDKs on SDKMAN! and Maven Central
• one SDK for JDK 21 to 27
• a native layer rebuilt on Java's FFM API
• Metal, CUDA and OpenCL backends
• the new CUDA Tile API
Short animations explain the programming model. You'll then profile and debug with TornadoVM's
tools: TornadoPulse, TornadoViz and the TornadoInsight IDE plugin.
Finally, you'll run jitLLM (formerly GPULlama3.java), LLM inference in pure Java, and connect it to
DevoxxGenie in IntelliJ IDEA as a local, GPU-backed assistant. We close with advanced demos on
NVIDIA: cuBLAS in the same task graph as your Java kernels, and a glimpse of GPU-accelerated
Apache Flink.
No GPU programming experience required. You'll leave with a working local GPU-accelerated LLM
setup and the tools to inspect it.
backend, which JDK flags? Thirteen TornadoVM releases after our last Devoxx, it's a single command.
This hands-on lab shows what changed, on your own laptop.
We walk through the new features, each straight to the console:
• SDKs on SDKMAN! and Maven Central
• one SDK for JDK 21 to 27
• a native layer rebuilt on Java's FFM API
• Metal, CUDA and OpenCL backends
• the new CUDA Tile API
Short animations explain the programming model. You'll then profile and debug with TornadoVM's
tools: TornadoPulse, TornadoViz and the TornadoInsight IDE plugin.
Finally, you'll run jitLLM (formerly GPULlama3.java), LLM inference in pure Java, and connect it to
DevoxxGenie in IntelliJ IDEA as a local, GPU-backed assistant. We close with advanced demos on
NVIDIA: cuBLAS in the same task graph as your Java kernels, and a glimpse of GPU-accelerated
Apache Flink.
No GPU programming experience required. You'll leave with a working local GPU-accelerated LLM
setup and the tools to inspect it.
Thanos Stratikopoulos
Dr. Athanasios Stratikopoulos (male) is a Research Fellow at the University of Manchester with specialization on heterogeneous architectures and reconfigurable accelerators. He has authored more than 20 research articles in the field of hardware acceleration, system software and programming languages. Currently his work involves heterogeneous architectures ranging from low-power devices to high-end cloud deployments. He is one of the lead developers of TornadoVM and has been part of the team for the last eight years. In addition to his core contributions to the system's technical development, Dr. Stratikopoulos leads the project's communication and dissemination efforts, helping to articulate its goals and advancements to both academic and industrial audiences through talks, documentation, and outreach activities.
Mary Xekalaki
I'm a Research Associate at the University of Manchester and lead developer of TornadoVM, an open-source framework that lets Java applications run on GPUs and other accelerators without leaving the JVM. My work sits at the intersection of managed runtimes and compilers - JIT-compiling Java bytecode into GPU code, and bringing modern hardware features like tensor cores, low-precision arithmetic and quantization into reach for Java developers.
Michalis Papadimitriou
Michalis Papadimitriou is a Senior Software Engineer at Neo4j and a Research Fellow at the University of Manchester. His core expertise includes open-source software development, hardware abstractions for high-level programming languages, compiler optimizations for GPU computing, and enabling large language model (LLM) inference on GPUs for the Java Virtual Machine (JVM).
He is focused on advancing high-performance AI and graph computing systems, with particular interest in GPU acceleration for machine learning workloads on the JVM through the TornadoVM framework, and continues to actively maintain the open-source GPULlama3.java project.
Before joining Neo4j, Michalis was a Research Fellow at the University of Manchester, where he contributed to the TornadoVM project as a Staff Software Engineer. Prior to that, he worked across a range of software stacks at Huawei Technologies and contributed to the open-source machine learning compiler Apache TVM while at OctoAI (formerly OctoML), which was later acquired by NVIDIA.
He is focused on advancing high-performance AI and graph computing systems, with particular interest in GPU acceleration for machine learning workloads on the JVM through the TornadoVM framework, and continues to actively maintain the open-source GPULlama3.java project.
Before joining Neo4j, Michalis was a Research Fellow at the University of Manchester, where he contributed to the TornadoVM project as a Staff Software Engineer. Prior to that, he worked across a range of software stacks at Huawei Technologies and contributed to the open-source machine learning compiler Apache TVM while at OctoAI (formerly OctoML), which was later acquired by NVIDIA.