编译器相关选项
llvm-autotune 需要与毕昇编译器选项-fautotune-generate和-fautotune配合使用。
- -fautotune-generate:
- 在“autotune_datadir”目录下生成可调优的代码结构列表,此默认目录可由环境变量AUTOTUNE_DATADIR改写;
- 作为调优准备工作的第一步,通常需要在llvm-autotune minimize/maximize命令执行前使用;
- 此选项还可以赋值来改变调优的颗粒度(可选值为Other, Function, Loop, CallSite, MachineBasicBlock, Switch, LLVMParam, ProgramParam,其中LLVMParam和ProgramParam对应粗粒度选项调优)。例如-fautotune-generate=Loop会开启类型仅为循环的可调优代码结构,每个循环在调优过程中会被赋予不同的参数值;而Other表示全局,生成的可调优代码结构对应每个编译单元(代码文件)。
-fautotune-generate默认等效于-fautotune-generate=Function,Loop,CallSite。通常建议使用默认值。
- 若要启用选项调优(LLVMParam和ProgramParam),需要为 llvm-autotune 指定拓展搜索空间,默认的搜索空间不包含预设调优选项。
llvm-autotune minimize --search-space /path/to/python3.1x/site-packages/autotuner/search_space_config/extended_search_space.yaml
site-packages目录可以通过 pip show autotuner 指令找到。
- -fautotune:
- 使用“autotune_datadir”下的编译器配置进行调优编译(此默认目录可由环境变量AUTOTUNE_DATADIR改写);
- 通常在调优迭代过程中,llvm-autotune minimize/maximize/feedback 命令之后使用。
具体示例,请参阅llvm-autotune使用步骤 章节。
父主题: llvm-autotune