网络调测时,网络整体性能较慢。通过Profiling工具获取网络的Profiling数据,并进行算子的性能数据分析,发现ReduceSum算子的性能很差。
查看Profiling性能数据中ReduceSum算子的详细信息,如下图所示:
其中,ReduceSum算子的输入数据类型(input_data_type)为“DT_FLOAT16”,block_dim字段的值为“1”,说明该算子未开启多核并行计算。
对于昇腾AI处理器的ReduceSum算子,若输入的数据类型为float16,由于硬件限制,某些场景下会无法开启多核计算。
以ReduceSum算子为例,输入数据是float16的情况可能有如下两种场景:
import npu_device as npu npu.global_options().precision_mode = 'allow_mix_precision' npu.global_options().modify_mixlist = "/home/test/ops_info.json" npu.open().as_default()
{ "black-list": { "to-add": ["ReduceSumD"] } }
详细配置方法可参见修改混合精度黑白名单。
仅在ReduceSum算子性能较差时,且符合现象描述时,可尝试使用此方法进行性能提升。