评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
Profiling
概述
系统支持在推理过程中采集Profiling数据,然后通过Profiling工具进行性能分析。当前支持采集的Profiling数据包括:
- task_trace:任务轨迹数据,即昇腾AI处理器HWTS/AICore的硬件信息,分析任务开始、结束等信息。
- op_trace:单算子性能数据。如需采集单算子性能数据,需要构造单算子网络并执行推理脚本。该功能不能和task_trace同时使能。
默认推理过程中不采集Profiling数据,如需采集,请参考如下方式修改推理脚本。
sess.run模式下开启Profiling数据采集
sess.run模式下,通过session配置项profiling_mode、profiling_options开启Profiling数据采集:
custom_op = config.graph_options.rewrite_options.custom_optimizers.add() custom_op.name = "NpuOptimizer" custom_op.parameter_map["use_off_line"].b = True custom_op.parameter_map["profiling_mode"].b = True custom_op.parameter_map["profiling_options"].s = tf.compat.as_bytes("task_trace") with tf.Session(config=config) as sess: print(sess.run(cost))
使用环境变量开启Profiling数据采集
用户还可以修改启动脚本中的环境变量,开启迭代轨迹Profiling采集,相关环境变量说明请参考环境变量说明。
export PROFILING_MODE=true export PROFILING_OPTIONS=task_trace
查看并解析Profiling数据
推理结束后,切换到/var/log/npu/profiling/下,查看是否生成JOB开头的文件夹。然后参考解析Profiling数据。