进阶调优
通过Profiling数据分析出性能瓶颈点,再进行对应的调优手段,需要开发者有丰富的调优经验,对开发人员要求较高。
- 通过对迭代轨迹数据进行分析,若发现“FP to BP Time”耗时较长,可进一步根据op_statistic_*.csv与op_summary_*.csv文件,分析耗时较长的算子。
若分析算子性能数据时,发现ReduceSum算子的性能很差,可参见网络调测时ReduceSum算子性能差将算子配置到混合精度黑名单进行处理。
若有AICPU算子,需要进一步分析AI CPU算子的时间段是否能被TBE算子(运行在AI Core上)的执行时间掩盖住,如果掩盖不住需要考虑将该AI CPU算子用TBE算子的方式进行实现,详细的实现方法可参见《TBE&AI CPU算子开发指南》。
- 通过对迭代轨迹数据进行分析,若发现“Data Aug Bound”即前端计算耗时较长,可进一步结合TensorFlow原生的Profiling工具,识别出计算无关操作,并将其进行屏蔽,从而提升单轮迭代性能。
父主题: 性能调优