Reflecting on HAT: A Project Babylon Case Study
summary
Project Babylon exposes Java methods as immutable SSA code models (via the @reflect annotation) so HAT can transform and lower them into CUDA/OpenCL; it models off‑heap buffers as memory segments via Panama and replaces array accesses with a pointer op custom operation to simplify dialects. HAT also inlines callees to trace buffers and auto‑tag them (read/write/write‑only), and a Game of Life demo reports roughly 2× speedup after enabling the minimize‑copies optimization.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:10Code reflection role
- 9:33Java code models
- 10:58Introducing HAT
- 13:27HAT programming model
- 16:59Transforming array views
- 26:27Optimizing with buffer tagging
- 33:56Game of Life demo
- 37:58Future plans for HAT
- 40:07Q&A
related talks
46mHeterogeneous Accelerator Toolkit (HAT) Update
53mProject Babylon - Code Reflection
40mJava GPGPU Enablement: Are We There Yet?
25mSymbolic Modeling and Transformation of Java Code
49mJVM in the Age of AI: Babylon, Valhalla, TornadoVM and friends
56mProject Lilliput: Shrinking Object Headers in the HotSpot JVM
44mJava for AI
01h 03mFrom Sumatra to Panama, from Babylon to Valhalla
