Alpha TANGO Toolbox is released as Open Source

Here below the set of tools available in Alpha version of TANGO toolbox! Each tool is accompanied by a Readme file with the description of the component, installation guidelines for developers and users and the relationship with other TANGO components. License and link to the downloadable software are provided. In order to provide some examples of use of our tools, several scenarios and the related workflows of tools are described also here. All components can be used independently or in integration with other components to approach different situations, as are shown in these examples. Alpha version is focused on providing the necessary software to perform profiling of time and energy performance to obtain static benchmarking information on applications run on a heterogeneous hardware architecture. Upcoming Beta version will further integrate TANGO components to make it possible to explore trade-off on additional non-functional behaviours such as security, robustness and maintainability. Finally, in the Final version, the focus will be on enhancing programmer productivity.

Application Lifecycle Development Engine (ALDE)

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

Code Profiler

The code profiler is a tool for analysing Java code for its energy efficiency.
Licensed under Apache v2

Device Emulator

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.
Licensed under Apache v2

Device Supervisor for SLURM

Device Supervisor in TANGO is an extension of Slurm which is an open-source cluster resource management and job scheduling system. Besides standard features provided by Slurm, the main extension done in TANGO has been the JobPack which aims to allocate a job on the heterogeneous devices of a single cluster. Licensed under GPL v2

Energy Modeller

The Energy Modeller forecasts future application and host power consumption, as well as reporting current and historic energy usage.
Licensed under Apache v2

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.
Licensed under Apache v2


Placer is a design-time tool that thoroughly optimizes the placement and scheduling of complex software onto heterogeneous multi processing hardware platforms.
Licensed under LGPL v3


Poroto enables the generation and early performance characterisation of FPGA-offloaded kernels for user defined computations.
Licensed under BDS-3 Clause

Programing model and runtime

The TANGO Programming Model and Runtime Abstraction Layer is a combination of the BSC's COMPSs and OmpSs task-based programming models, which simplifies the development of parallel application for distributed heterogeneous platforms.

Self-adaptation manager

The Self-Adaptation Manager is responsible for the adaptive behaviour of heterogeneous architectures by providing low power and energy usage while maintaining quality of service aspects of applications.
Licensed under Apache v2