torch_npu.npu.profileConfig
API接口
torch_npu.npu.profileConfig(ACL_PROF_ACL_API=True, \ ACL_PROF_TASK_TIME=True, ACL_PROF_AICORE_METRICS=True, \ ACL_PROF_AICPU=True, ACL_PROF_L2CACHE=False, \ ACL_PROF_HCCL_TRACE=True, ACL_PROF_TRAINING_TRACE=False, \ TORCH_CALL_STACK=False, \ aiCoreMetricsType=1)
功能描述
指定Profiling配置数据。
参数说明
- ACL_PROF_ACL_API:采集AscendCL接口的性能数据,默认为True。
- ACL_PROF_TASK_TIME:采集AI CORE算子的执行时间,默认为True。
- ACL_PROF_AICORE_METRICS:采集AI CORE性能指标数据,默认为True,当值为True时,aicore_metrics入参处配置的性能指标采集项才有效。
- ACL_PROF_AICPU:采集AI CPU任务的开始、结束轨迹数据,默认为True。
- ACL_PROF_L2CACHE:采集L2 Cache数据,该数据会导致prof结果膨胀,默认False。
- ACL_PROF_HCCL_TRACE:采集HCCL数据,默认为True。
- ACL_PROF_TRAINING_TRACE:表示迭代轨迹数据,记录模型正向和反向等步骤,默认False。
- TORCH_CALL_STACK:表示PyTorch框架层的算子调用栈信息,默认False。
- aiCoreMetricsType取值和定义如下表所示。
表1 aiCoreMetricsType取值和定义说明表 参数取值
相关参数
参数定义
采集项
0
ACL_AICORE_ARITHMETIC_UTILIZATION
各种计算类指标占比统计。
mac_fp16_ratio、mac_int8_ratio、vec_fp32_ratio、vec_fp16_ratio、vec_int32_ratio、vec_misc_ratio。
1
ACL_AICORE_PIPE_UTILIZATION
计算单元和搬运单元耗时占比。
vec_ratio、mac_ratio、scalar_ratio、mte1_ratio、mte2_ratio、mte3_ratio、icache_miss_rate。
2
ACL_AICORE_MEMORY_BANDWIDTH
外部内存读写类指令占比。
ub_read_bw、ub_write_bw、l1_read_bw、l1_write_bw、l2_read_bw、l2_write_bw、main_mem_read_bw、main_mem_write_bw。
3
ACL_AICORE_L0B_AND_WIDTH
内部内存读写类指令占比。
scalar_ld_ratio、scalar_st_ratio、l0a_read_bw、l0a_write_bw、l0b_read_bw、l0b_write_bw、l0c_read_bw、l0c_write_bw。
4
ACL_AICORE_RESOURCE_CONFLICT_RATIO
流水线队列类指令占比。
vec_bankgroup_cflt_ratio、vec_bank_cflt_ratio、vec_resc_cflt_ratio、mte1_iq_full_ratio、mte2_iq_full_ratio、mte3_iq_full_ratio、cube_iq_full_ratio、vec_iq_full_ratio、iq_full_ratio。
5
ACL_AICORE_MEMORY_UB
内部内存读写指令占比。
ub_read_bw_vector、ub_write_bw_vector、ub_read_bw_scalar、ub_write_bw_scalar。
0x FF
ACL_AICORE_NONE
不采集。
无。