TornadoVM: A Heterogeneous Programming Framework.
(Dec 2018 - now)
TornadoVM is a plug-in to OpenJDK and GraalVM that allows programmers to automatically run Java programs on heterogeneous hardware. TornadoVM currently targets OpenCL-compatible devices and it runs on multi-core CPUs, dedicated GPUs (NVIDIA, AMD), integrated GPUs (Intel HD Graphics and ARM Mali), and FPGAs (Intel and Xilinx).
In this project, I have been involved in the design and implementation of the OpenCL backend that integrates the Xilinx HLS compiler. Additionally, I have managed to run Java workloads on AWS EC2 instances.
Code of this project is open-source.