ITEA is the Eureka Cluster on software innovation
ITEA is the Eureka Cluster on software innovation
ITEA 4 page header azure circular

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
Email
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)