|
In this page |
|
A project has to satisfy some requirements in order for the Energy toolbox to be able to analyze it. This page briefly describes this requirements for each sub-compontent.
|
|
\ No newline at end of file |
|
|
|
|
|
**All Energy Toolbox sub-components**
|
|
|
|
|
|
|
|
In the project repo, **a config.txt file must be added in the root directory** with the following format (all the paths starting from the root directory of the repo):
|
|
|
|
|
|
|
|
```
|
|
|
|
[app1]
|
|
|
|
dir = app1_directory
|
|
|
|
exec = exec_command_for_app1
|
|
|
|
source = path/to/source/file1, path/to/source/file2
|
|
|
|
include_dirs = path/to/lib1, path/to/lib2
|
|
|
|
build = app1_compiling_building_commands
|
|
|
|
language = C/C++
|
|
|
|
|
|
|
|
[app2]
|
|
|
|
dir = app2_directory
|
|
|
|
exec = exec_command_for_app2
|
|
|
|
source = path/to/source/file1, path/to/source/file2
|
|
|
|
include_dirs = path/to/lib1, path/to/lib2
|
|
|
|
build = app2_compiling_building_commands
|
|
|
|
language = Java
|
|
|
|
```
|
|
|
|
* _dir_ (Needed for all Analysis types) is the name root directory of the project
|
|
|
|
* _exec_ (Needed for Full,Hotspots,Acceleration Analysis) corresponds to the command that executes the application. It is worth mentioning that for performing dynamic analysis, the Energy Toolbox needs to execute the application. Furthermore, when the user wants to analyse a project dynamically in order to have more accurate results, care must be taken that the application is terminated and not run indefinitely.
|
|
|
|
* _source_ (Needed for all Analysis types) is the path to the source files that the user wants to analyse separated by commas.
|
|
|
|
* _include_dirs_ (Needed for Static Energy Estimation Analysis) contains the paths to directories that have to be included in order to compile the source files separately (needed for static analysis)
|
|
|
|
* _build_ (Needed for Full,Hotspots,Acceleration Analysis) includes the compiling and building commands. For C/C++ the building commands (either gcc commands or make) have to use gcc compiler with the **-g** debugging flag. All the paths to directories needed have also to be included using the **-I** flag.
|
|
|
|
* Finally, _language_ (Needed for all Analysis types) is “Java” or “C/C++” for specifying the project’s programming language.
|
|
|
|
|
|
|
|
**Static Energy Consumption Estimation**
|
|
|
|
|
|
|
|
The **source files** needed to be analysed must be specified in the config.txt file. Also **all the include libraries** needed for each source file to be compiled as standalone file needed to be added in the config.txt file in the way mentioned above.
|
|
|
|
|
|
|
|
**Hotspots Identification and Energy Indicators monitoring**
|
|
|
|
|
|
|
|
The application **must be able to be built and executed on a linux machine automatically**, while the commands for its proper execution must be included in the config.txt file as mentioned above. Commands that build the entire project should also be included while **-g** debugging flags have to be used in the *gcc* compilation in all *makefiles*.
|
|
|
|
|
|
|
|
**Acceleration**
|
|
|
|
|
|
|
|
The same requirements as Hotspots analysis adding that the project has to be a single-threaded application.
|
|
|
|
|
|
|
|
**Android**
|
|
|
|
|