Code Reflection in Action - Translating Java to SPIR-V
summary
Demonstrates Java-to-SPIR‑V translation using Babylon code reflection by emitting a new SPIR‑V dialect then lowering that dialect to a SPIR‑V binary with the Beehive toolkit; implements pointer types, lifts Java variable declarations to entry block, converts block-parameter SSA to SPIR‑V phi/fi ops, and maintains input→output value/block maps. Emits binaries consumed by Intel GPUs and runs them via a Java binding to Level Zero. Also shows a working Triton path that converts a Triton dialect to runnable GPU kernels.
AI-written summary · about
chapters (8)
- 0:00Introduction to SPIR-V
- 1:34Defining a code reflection dialect
- 4:49Op-to-op translation
- 11:01Handling variable layouts
- 15:11Block parameters to Phi ops
- 23:26Translation to binary
- 28:12Triton proof of concept
- 32:12Summary and reflections
related talks
25mSymbolic Modeling and Transformation of Java Code
39mYour Program as a Transpiler
42mCode Reflection
01h 19mTowards the tower of Babel: a Polyglot Language VM in Java
44mJava for AI
35mJava Source to Byte Code Transformation - The Hidden Story!
12mA RISC V Java Update: Running Full Java Applications On FPGA-Based RISC V Cores With JikesRVM
43mHow to make your electrons do more in Java?
