Ascend Graph开发方式Profiling
采集性能原始数据
该章节提供通过Ascend Graph API编程接口的两种方式使能Profiling:
- 通过GEInitialize传入option参数:
- ge.exec.profilingMode;
- ge.exec.profilingOptions。
- 通过aclgrphProfInit、aclgrphProfFinalize、aclgrphProfCreateConfig、aclgrphProfDestroyConfig、aclgrphProfStart和aclgrphProfStop接口采集性能数据。
如果需要采集迭代轨迹数据,还需要通过GEInitialize传入option参数ge.exec.profilingOptions或通过环境变量PROFILING_OPTIONS传入。传入字段包括training_trace。
采集数据说明
可采集数据如下所示。
timeline文件名 |
相关参数 |
说明 |
---|---|---|
msprof_{device_id}_{model_id}_{iter_id}.json |
all |
timeline数据总表。对采集到的timeline性能数据按照迭代粒度进行性能展示。详情请参见timeline数据总表。 |
task_time_{device_id}_{model_id}_{iter_id}.json |
kProfTaskTime |
AI core、AI cpu、All reduce并行度分析数据。文件详情请参见AI core、AI cpu、All reduce并行度分析数据说明。 |
step_trace_{device_id}_{model_id}_{iter_id}.json |
- |
迭代轨迹数据,每轮迭代的耗时。文件详情请参见迭代轨迹数据说明。 |
hccl_{device_id}_{model_id}_{iter_id}.json |
kProfHccl |
HCCL数据。文件详情请参见HCCL数据说明。 |
summary文件名 |
相关参数 |
说明 |
---|---|---|
op_summary_{device_id}_{model_id}_{iter_id}.csv |
kProfTaskTime(可选) kProfAiCoreMetrics(可选) kProfAicpu(可选) 配置kProfTaskTime和kProfAiCoreMetrics生成AI Core算子信息,配置kProfAicpu生成AI CPU算子信息。 |
AI Core数据,获取每轮迭代的每个task的ai core metrics的耗时。文件详情请参见AI Core数据说明。 |
op_statistic_{device_id}_{model_id}_{iter_id}.csv |
kProfTaskTime(可选) kProfAiCoreMetrics(可选) kProfAicpu(可选) 配置kProfTaskTime和kProfAiCoreMetrics生成AI Core算子信息,配置kProfAicpu生成AI CPU算子信息。 |
AI Core算子计数表,从算子类型维度找出耗时最大的算子类型。文件详情请参见AI Core算子调用次数及耗时数据说明。 |
step_trace_{device_id}_{model_id}_{iter_id}.csv |
- |
迭代轨迹数据。文件详情请参见迭代轨迹数据说明。 |
task_time_{device_id}_{model_id}_{iter_id}.csv |
kProfTaskTime |
Task Scheduler任务调度信息。文件详情请参见Task Scheduler的任务调度信息数据说明。 |
aicpu_{device_id}_{model_id}_{iter_id}.csv |
kProfAicpu |
AI CPU数据。文件详情请参见AI CPU数据说明。 |
dp_{device_id}_{model_id}_{iter_id}.csv |
- |
数据增强Data PreProcess数据。文件详情请参见数据增强数据说明。 |
fusion_op_{device_id}_{model_id}_{iter_id}.csv |
- |
模型中算子融合前后信息。详情请参见模型中算子融合前后信息数据说明。 |
l2_cache_{device_id}_{model_id}_{iter_id}.csv |
kProfL2cache |
L2Cache数据。详情请参见L2Cache数据说明。 |