Rate This Document
Findability
Accuracy
Completeness
Readability

Software Architecture Description

This framework includes the following modules, with the automatic compilation tuning tool relying on the Python environment:

  • Inference engine of AI-enabled compiler-driven program optimization (ACPO), which drives the compiler to use the results obtained from AI model inference within optimization passes to achieve the optimization.
    • The AI-enabled optimization passes in the current GCC are primarily implemented through compiler plug-ins, decoupled from the main version of the compiler.
  • Automatic compilation tuning tool, which uses an external tuning tool (OpenTuner) to drive the compiler to perform multi-granularity automatic compilation tuning. Currently, it supports GCC and LLVM compilers.
    • Option tuning tool, which is used for tuning application-level compilation options.
    • Compilation tuning tool, which is implemented based on Autotuner and can implement fine-grained and coarse-grained compilation tuning.
      • Fine-grained tuning adjusts key tuning parameters within the optimization passes, for example, the unroll count.
      • Coarse-grained tuning adjusts function-level compilation options.