Heterogeneous Accelerator Toolkit (HAT) Update
summary
Project offers a Java library that compiles quotable lambdas into GPU code, using ND-range kernel model kernels, Panama FFM memory layouts/segments for off‑heap data, and code reflection to produce OpenCL/PTX/C99 backends. Demos (Game of Life, healing brush) run without source changes and show ~10x–32x speedups on GPUs; backend compiles kernels and optimizes data movement via schemas and double-buffering. Kernels forbid heap allocation, exceptions and object identity; debug runs on Java.
AI-written summary · about
chapters (16)
- 0:00Introduction to hat
- 0:58Hat programming model
- 3:37GPGPU compute basics
- 4:47Java GPGPU challenges
- 7:40ND-range kernel model
- 10:01Leveraging java features
- 11:02Kernel context details
- 14:24Compute model dispatch
- 17:05Kernel restrictions
- 19:18Babylon backend
- 21:05Data mapping model
- 26:36Game of life example
- 30:23Memory optimization
- 33:02Game of life demo
- 38:22Healing brush demo
- 44:26Summary and future work
related talks
50mUnder the HAT: Empowering GPU Acceleration for Java
40mJava GPGPU Enablement: Are We There Yet?
43mReflecting on HAT: A Project Babylon Case Study
44mWrite Once, Accelerate Everywhere: GPU-Ready Java with TornadoVM
47mJava and GPU … are we nearly there yet?
51mJava on the GPU Where are we now?
49mMassive Parallelism with GPUs in Java
43mFrom CPU to GPU and FPGAs: Supercharging Java Applications with TornadoVM
