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.
Parent topic: AI for Compiler