TornadoVM 0.2

TornadoVM is a practical heterogeneous programming framework for Java, Tornado enables automatic Just-In-Time (JIT) compilation and acceleration of Java programs on any OpenCL compatible device, such as multi-core CPUs, GPUs and FPGAs.

Tornado provides a minimal parallel task-based API (Application Programming Interface) that programmers can use to express computation to be offloaded and accelerated on GPUs and FPGAs and multi-core CPUs.

Tornado

Tornado is a practical heterogeneous programming framework for Java, Tornado enables automatic Just-In-Time (JIT) compilation and acceleration of Java programs on any OpenCL compatible device, such as multi-core CPUs, GPUs and FPGAs.

Vinetalk: The missing piece for cluster managers to enable accelerator sharing

FPGA and GPU based accelerators have recently become first class citizens
in datacenters. Despite their high cost, however, accelerators remain
underutilized for large periods of time, as vendors prefer to dedicate them
to workloads for guaranteed QoS. At the same time, accelerator sharing is
difficult, due to vendor locked communication paths with software
applications. In this work, we modified the agents of Apache
Mesos with Vinetalk, an Apache 2.0 licensed open source accelerator middleware that abstracts the entire

Self-Adaptation Manager

The Self-Adaptation manager is responsible for co-ordinating the adaptive behaviour of the TANGO architecture. The main aim of this adaptation is provide low power and energy usage while maintaining quality of service aspects of applications. The primary mechanism by how this self-adaptation manager works is the generation of events, which in turn has actions associated with the events.

Application Lifecycle Development Engine (ALDE)

ALDE is responsible for the workload scheduling and the management of the application life-cycle while it is executed. ALDE will take the application source code, packetize for different heterogenous architectures configurations and, if possible, deploy it via a TANGO Device Supervisor and manage the application execution. One compilation of code, many deployments in dfferent target architectures.