Use Cases

Computer Vision (Kinect Fusion)

The Kinect Fusion application is a computer vision algorithm developed originally in C++ with the aim to recreate and render a video at real time. It can run on existing datasets as well as in real-time with input frames from an attached RBG-d camera.

An open-source implementation of Kinect Fusion in Java is available on GitHub. This implementation includes more than 7.000 LoC, and it has been used with TornadoVM to accelerate the algorithm directly from Java onto GPUs.


Vanilla Java Kinect Fusion


Accelerated Kinect Fusion on GPU

The right image shows a screenshot of the execution with TornadoVM on an NVIDIA GPU 1050. The left part in both images illustrates the input program in four types that correspond to different options of the Kinect camera (e.g. the depth image, track model and light-scene).



Performance Gains


Maximum Kernel 

Performance Gains


Frames Per Second (FPS)