昇腾社区首页
中文
注册

调优结果

介绍调优完成后知识库的变更及调优结果文件。

自定义知识库

调优完成后,若满足自定义知识库生成条件(请参见调优流程介绍),则会生成自定义知识库。

自定义知识库会存储到“TUNE_BANK_PATH”环境变量指定的路径中。若不设置此环境变量:
  • 针对RL调优模式支持的算子,会存储到CANN软件安装后文件存储路径的“${HOME}/ascend/latest/data/aoe/custom/op/<soc_version>/vector/”中。
  • 针对GA调优模式支持的算子,会存储到CANN软件安装后文件存储路径的“${HOME}/ascend/latest/data/aoe/custom/op/<soc_version>/cube/”中。

调优结果文件

调优开始后,会在执行调优的工作目录下生成命名为“tune_result_{timestamp}_pidxxx.json”的文件,记录被调优算子的调优过程、调优结果,以及网络模型中所有算子的详细调优状态信息。

其中{timestamp}为时间戳,格式为:年月日_时分秒毫秒,“pidxxx”中的“xxx”为进程ID。

内容格式如下所示:

"[['Operator Name']]":{
    "result_data":{
        "after_tune": 56,
        "before_tune": 66
    }
    "status_data":{
        "bank_append": true, 
        "bank_hit": false,
        "bank_reserved": false,
        "bank_update": false
    }
    "ticks_best":[
        "[82, 2020-08-08 18:03:38]",
        "[104, 2020-08-08 18:03:50]",
        ...
        ]
},
  • Operator Name:原图中算子的名字,若原图在图优化过程中进行了融合,融合后的节点对应原图中的多个节点,则会显示多个Operator Name,例如:[['scale5a_branch1', 'bn5a_branch1', 'res5a_branch1'], ['res5a'], ['res5a_relu']]
  • "result_data",调优结果,记录网络模型中被调优算子的调优前后执行时间。
    • after_tune:Auto Tune调优后,算子执行时间,单位:us。
    • before_tune:未开启Auto Tune调优前,算子执行时间,单位:us。
  • "status_data":详细调优状态信息,记录网络模型中所有算子的调优状态信息。
    • bank_append:取值为“true”,表示调优前该算子的调优策略不在知识库中,调优结束后该调优策略追加到了知识库;其他情况取值为“false”。
    • bank_hit:调优前,该算子的调优策略是否在知识库中。

      若在知识库中,取值为“true”;若不在知识库中,取值为“false”。

    • bank_reserved:若调优前该算子的调优策略在知识库中,并且调优结束后该调优策略没有更新,则取值为“true”;其他情况取值为“false”。
    • bank_update:若调优前该算子的调优策略在知识库中,并且调优结束后该调优策略进行了更新,则取值为“true”;其他情况取值为“false”。
  • "ticks_best":记录每轮调优的结果,包含tiling耗时和本轮算子的调优结束时间。
  • Auto Tune在调优过程中会在执行调优工具的目录下生成tune_show_{timestamp}_pidxxx文件夹,tune_show_{timestamp}_pidxxx文件夹存储每个调优算子的flag文件,用户在调优过程中若想停止某层算子的调优可执行如下命令,其中${INSTALL_DIR}请替换为CANN软件安装后文件存储路径

    python3.7.5 ${INSTALL_DIR}/python/site-packages/schedule_search/msoptune.py --stop tune_show_{timestamp}_pidxxx

    按照提示信息选择需要停止调优的算子即可。调优停止后,会将当前调优生成的知识库与已经存在的知识库进行比对,若性能优于已有知识库,则在custom目录下替换已有知识库或追加新的知识库,否则不生成新的知识库。

    tune_show_{timestamp}_pidxxx文件夹在调优结束后会自动删除。

  • 调优结束后,用户可执行如下命令根据tune_result_{timestamp}_pidxxx.json文件生成网络模型中所有算子的调优状态统计信息,其中${INSTALL_DIR}请替换为CANN软件安装后文件存储路径

    python3.7.5 ${INSTALL_DIR}/python/site-packages/schedule_search/msoptune.py --summary tune_result_{timestamp}_pidxxx.json

    其中回显结果“Total_Num”为经过图优化/图融合后的网络模型中的算子总数,“Hit_Num”为命中知识库的算子数目,“Append_Num”为追加到知识库的算子数目,“Update_Num”为更新了知识库的算子数目,“Reserved_Num”为命中了知识库但没有进行知识库更新的算子数目。