性能数据采集与分析
概述
在线推理过程中支持采集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"}'
父主题: 更多特性