Profiling
概述
在线推理过程中支持采集Profiling性能数据,然后借助Profiling工具进行数据分析,从而准确定位系统的软、硬件性能瓶颈,提高性能分析的效率,通过针对性的性能优化方法,以最小的代价和成本实现业务场景的极致性能。当前支持采集的Profiling数据主要包括:
- task_trace:任务轨迹数据,即昇腾AI处理器HWTS/AICore的硬件信息,分析任务开始、结束等信息。
- aicpu_trace:采集aicpu数据增强的Profiling数据。
默认不采集Profiling性能数据,如需采集,请参考本节内容修改脚本。
sess.run模式下开启Profiling数据采集
sess.run模式下,通过session配置项profiling_mode、profiling_options开启Profiling数据采集,具体参数配置要求请参考sess.run模式下的session配置。
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()
环境变量方式
除了以上方式,用户还可以修改启动脚本中的环境变量,开启Profiling采集功能。
export PROFILING_MODE=true export PROFILING_OPTIONS='{"output":"/tmp/profiling","task_trace":"on"}'
环境变量详细配置要求请参考环境变量参考。
父主题: 更多特性