TornadoVM
summary
TornadoVM is an OpenJDK plugin that extends Graal to emit OpenCL C and a runtime with custom bytecodes to run Java on GPUs, multicore CPUs and FPGAs. It compiles annotated Java methods, manages device memory, and performs dynamic device migration using policies (end-to-end, performance, latency). A 7k‑line Kinect Java app moves from ~1 fps on HotSpot to ~70–80 fps on a GTX1050; DFT gains up to ~240× over an 8‑core run after FPGA/GPU specializations. The system is open source on GitHub.
AI-written summary · about
chapters (14)
- 0:00MANCHESTER
- 3:56What is an FPGA Field Programmable Gate Array
- 4:55What is a GPU? Graphics Processing Unit
- 7:05Current Computer Systems & Prog. Lang
- 11:45TornadoVM Overview
- 13:09Tornado API-example
- 15:14Tornado API - Map-Reduce
- 16:22TornadoVM Compiler & Runtime Overview
- 18:30TornadoVMJIT Compiler Specializations
- 19:29FPGA Specializations
- 22:10TornadoVM Bytecodes - Example
- 27:17How is the decision made?
- 32:40Additional features
- 40:39Takeaways
related talks
51mTornadoVM: Transparent Hardware Acceleration for Java…and Beyond!
46mTornadoVM: Supercharge your Java with GPU acceleration
43mFrom CPU to GPU and FPGAs: Supercharging Java Applications with TornadoVM
44mWrite Once, Accelerate Everywhere: GPU-Ready Java with TornadoVM
17mDynamic and Static Code Analysis for Java Programs on Heterogeneous Hardware
43mHow to make your electrons do more in Java?
49mJVM in the Age of AI: Babylon, Valhalla, TornadoVM and friends
47mJVM in the Age of AI: Babylon, Valhalla, TornadoVM and friends
