昇腾社区首页
中文
注册

性能数据采集与分析

概述

在线推理过程中支持采集Profiling性能数据,然后借助Profiling工具进行数据分析,从而准确定位系统的软、硬件性能瓶颈,提高性能分析的效率,通过针对性的性能优化方法,以最小的代价和成本实现业务场景的极致性能。

当前支持采集的Profiling数据主要包括:

  • task_trace:任务轨迹数据,即昇腾AI处理器HWTS/AICore的硬件信息,分析任务开始、结束等信息。
  • aicpu_trace:采集aicpu数据增强的Profiling数据。

默认不采集Profiling性能数据,如需采集,请参考本节内容修改脚本。

sess.run模式下开启Profiling数据采集

sess.run模式下,通过session配置项profiling_mode、profiling_options开启Profiling数据采集,具体参数配置要求请参考Profiling

1
2
3
4
5
6
7
8
9
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('{"output":"/tmp/profiling","task_trace":"on"}')
config.graph_options.rewrite_options.remapping = RewriterConfig.OFF  #关闭remap开关

with tf.Session(config=config) as sess:
    sess.run()

允许在没有昇腾AI处理器直接连接的服务器上启动训练或推理进程,通过分布式部署能力进行计算任务的远程部署。在该场景下,需要用户指定output路径为“/var/log/npu/”,用于保存Profiling采集结果文件。

环境变量方式

除了以上方式,用户还可以修改启动脚本中的环境变量,开启Profiling采集功能。

export PROFILING_MODE=true 
export PROFILING_OPTIONS='{"output":"/tmp/profiling","task_trace":"on"}'

环境变量详细配置要求请参见环境变量参考

Profiling数据分析

训练结束后,切换到result_path目录下,可查看到Profiling数据,您可以通过Profiling工具解析数据,具体参考性能分析工具使用指南