MOO Compiler
- Project
- 16018 COMPACT
- Type
- New standard
- Description
- Multi-objective optimizations to better fit a programs binary code onto a target system with limited resources
- Optimizes all objectives equitably
- Includes optimization for energy consumption
- Targets embedded and IoT platforms
- Is easy to use by the end user despite of the included machine learning modules
- Machine learning components are pre-trained (by the vendor)
- Is pre-trained per target platform
- Requires only short training time and little training effort
- No negative impact on compilation time
- Is based on the popular LLVM open source compiler
(None of the above items is available in open source compilers.)
- Contact
- Manfred Kreutzer – ABIX GmbH
- mkreutzer@a-bix.com
- Technical features
Input(s):
- Target platform/processor characteristics
- Program to be compiled
- Program characteristics
Main feature(s):
- A compiler tool with machine learning driven optimizations
- Optimizes for energy consumption, execution time and code size simultaneously
- Applies optimizations and optimization sequences depending on the characteristics of the input program
Output(s):
- Optimized binary code for the target platform/processor
- Integration constraints
Constraint(s):
- MOO (respectively the machine learning components) need to be retrained if code for a different target platform shall be generated
- A sufficient amount of heterogeneous, real world training samples (i.e. programs) for a specific target platform is required to achieve good optimization quality and to increase the accuracy regarding the estimates and predictions of the machine learning components
No constraint(s):
- Is available for Windows and Linux host platforms
- MOO can be used like the classic LLVM compiler it is based on
- Does not need a change of the work flow for building programs, performing continuous integrations (CS) or integration into test cycles, etc.
- Targeted customer(s)
Companies and engineers needing to create code for embedded or IoT targets with (very) limited resources regarding memory, processor performance, and energy supply.
- Conditions for reuse
- MOO Compiler (commercial product): Commercial license (details are to be determined)
- MLComp Compiler (research compiler): Research or open source license (details are to be determined)
- Confidentiality
- Public
- Publication date
- 14-01-2021
- Involved partners
- ABIX GmbH (AUT)