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.
OmpSs is an effort to integrate features from the StarSs programming model developed at BSC into a single programming model.
The COMP Superscalar (COMPSs) framework is mainly compose of a programming model which aims to ease the development of applications for distributed infrastructures, such as Clusters, Grids and Clouds and a runtime system that exploits the inherent parallelism of applications at execution time.
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
The Device Emulator finds an efficient mapping of the application tasks onto the nodes/cores in low time, i.e., which application task should run on each node/core.
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 Energy Modeller forecasts future application and host power consumption, as well as reporting current and historic energy usage.
Code Profiler Plugin
A tool for analysing Java code for its energy efficiency.
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
Embedded Many-Core Operating System – a small kernel implementation which efficiently handles parallel threads in manycore
An integrated toolset for the timing and schedulability analysis of real-time parallel applications
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.