Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W Wiki Home
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • SDK4ED WikiSDK4ED Wiki
  • Wiki Home
  • Wiki
  • Energy requirements

Energy requirements · Changes

Page history
Update Energy requirements authored 4 years ago by Haris Marantos (ICCS)'s avatar Haris Marantos (ICCS)
Hide whitespace changes
Inline Side-by-side
Showing
with 13 additions and 10 deletions
+13 -10
Energy-requirements.md
View page @ ebcdd656
...@@ -2,7 +2,7 @@ A project has to satisfy some requirements in order for the Energy toolbox to be ...@@ -2,7 +2,7 @@ A project has to satisfy some requirements in order for the Energy toolbox to be
**All Energy Toolbox sub-components** **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): In the project repo, **a config.txt file must be added in the root directory (R1)** with the following format (all the paths starting from the root directory of the repo):
``` ```
[app1] [app1]
...@@ -21,28 +21,31 @@ In the project repo, **a config.txt file must be added in the root directory** w ...@@ -21,28 +21,31 @@ In the project repo, **a config.txt file must be added in the root directory** w
build = app2_compiling_building_commands build = app2_compiling_building_commands
language = Java language = Java
``` ```
* _dir_ (Needed for all Analysis types) is the name root directory of the project * _dir_ (**R1a**)(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. * _exec_ (**R1b**)(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. * _source_ (**R1c**)(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) * _include_dirs_ (**R1d**)(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. * _build_ (**R1e**)(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. * Finally, _language_ (**R1f**)(Needed for all Analysis types) is “Java” or “C/C++” for specifying the project’s programming language.
**Static Energy Consumption Estimation** **Static Energy Consumption Estimation**
R1(a,c,d and f) must be satisfied.
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. 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.
**Energy Indicators monitoring and Hotspots Identification** **Energy Indicators monitoring and Hotspots Identification**
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*. R1(a,b,c,e and f) must be satisfied.
The application **must be able to be built and executed on a linux machine automatically (R2)**, while the commands for its proper execution (R1b) must be included in the config.txt (R1) file as mentioned above. Commands that build the entire project should also be included (R1e) while **-g** debugging flags have to be used in the *gcc* compilation in all *makefiles*.
**Acceleration Optimization Suggestion** **Acceleration Optimization Suggestion**
The same requirements as Hotspots analysis adding that the project has to be a single-threaded application. The same requirements as Hotspots analysis adding that the project has to be **a single-threaded application (R3)**. For the rest of the analysis types the application can be of course multi-threaded.
**History Analysis** **History Analysis**
Previous commits of the project should have been already analysed using Static Energy Consumption Estimation tool in order for the service to retrieve them from the database. This is performed by placing {“commit”:commit-id} in the “Extra Info by Toolbox” text field for the Energy Toolbox. (The last commit of the repo should contain the config.txt file). **Previous commits of the project should have been already analysed (R3)** using Static Energy Consumption Estimation tool in order for the service to retrieve them from the database. This is performed by placing {“commit”:commit-id} in the “Extra Info by Toolbox” text field for the Energy Toolbox. (The last commit of the repo should contain the config.txt file).
**Android** **Android**
**Gradle version 4 or newer (R4)**
\ No newline at end of file
Clone repository
  • Advanced
  • Architectural Toolbox Description
  • Architectural Toolbox Front End
  • Architectural Toolbox Home
  • Architectural Toolbox Installation
  • Architectural Toolbox Usage
  • Decision Support Toolbox Description
  • Decision Support Toolbox Front end
  • Decision Support Toolbox Installation
  • Decision Support Toolbox Usage
  • Decision Support Toolbox
  • Energy Toolbox Description
  • Energy Toolbox Front end
  • Energy Toolbox Installation
  • Energy Toolbox Usage
View All Pages

Menu

Explore Projects Groups Snippets