PGO(Profile Guided Optimization)是一种编译器优化技术,通过编译器插桩收集程序运行时信息进行优化决策。编译器根据这些运行时信息指导各种编译优化技术进行更准确的优化决策,生成更优的目标程序。
自动反馈优化是一种可简化PGO部署流程的一种技术,主要思想是通过采样方式收集程序的运行信息,间接得到程序的执行情况,简化了PGO的部署流程。
环境依赖需满足以下条件:
注:PRETTY_NAME为CentOS Linux 7(AltArch)操作系统的redhat-release值须是CentOS Linux release 7.6.1810(AltArch)
若使用普通用户配置自动反馈优化编译参数时,GCC for openEuler版本正确,环境检查提示“编译器未安装或编译器版本不匹配”,请检查“~/.profile”文件中是否配置GCC for openEuler的环境变量。
优化目标的源码编程语言仅支持:C/C++/Fortran,其他编程语言暂不支持。
参数 |
说明 |
---|---|
工程本地路径 |
当前工程文件在本地存放的路径。 |
编译方式 |
编译方式可选:
|
远程服务器配置 |
进行编译的远程服务器。 |
Linux用户密码 |
使用的Linux用户密码。 |
记住密码 |
勾选后可记住当前远程服务器Linux用户密码。 |
可执行文件路径 |
为二进制安装后生成的可执行文件路径。 profile生成阶段需要此路径来解析profile。 |
构建脚本路径 |
为目标应用的构建脚本路径。 构建脚本需要用户完成编写,工具将调用此脚本完成应用的编译。 |
执行脚本路径 |
为目标应用的执行脚本路径。 执行脚本需要用户完成编写,工具将后台运行此脚本以执行目标应用。 |
脚本工作目录 |
用于存放采样文件和profile。 |
优化模式 |
A-FOT是一款用于提升编译器GCC for openEuler自动反馈优化特性的工具,支持以下三种模式:
|
构建模式 |
构建模式支持两种模式:
|
最大启动时间(s) |
等待目标应用二进制启动的最长时间。 检测到任务名称即视为二进制启动成功。默认值为10s,取值范围为1s~900s。 |
采样时长(s) |
工具采样时长。 默认值为100s,取值范围为1s~1800s。 |