调优结果

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

自定义知识库

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

自定义知识库会存储到“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]",
        ...
        ]
},
  • 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”为命中了知识库但没有进行知识库更新的算子数目。