---
title: 编译器相关选项
description: "llvm-autotune 需要与毕昇编译器选项-fautotune-generate和-fautotune配合使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_20_0020_1.html
sourcePath: /source/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_20_0020_1.html
indexId: bf49570948dd394733301596e20e1f513cad4ba550fd246f60240978707950cb82
---
# 编译器相关选项

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指定拓展搜索空间，默认的搜索空间不包含预设调优选项。
    1 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使用步骤章节。
