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.

Source to source compiler

Compiler to analyze source code OpenMP parallelism annotations, extracting the required information to allow for efficient and predictable mapping and scheduling of parallel computations

Lightweight OpenMP tasking runtime

A small-footprint implementation of the tasking model of the latest OpenMP specification, which uses the information extracted by the compiler to map OpenMP tasks to operating systems threads

ERIKA 3

Embedded Many-Core Operating System – a small kernel implementation which efficiently handles parallel threads in manycore

Monitoring Infrastructure

The Monitoring Infrastructure monitors the heterogeneous resources to provide metrics (power consumption, temperature, utilization) about the status of the different devices and also historical statistics of these metrics.

Application Lifecycle Development Engine (ALDE)

ALDE is responsible for the workload scheduling and the management of the application life-cycle while it is executed.