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)
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。
参数取值 |
相关参数 |
参数定义 |
采集项 |
---|---|---|---|
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 |
不采集。 |
无。 |