已合并
fix(msprof): update task_type and mix_block_dim_ratio from bs_task_type #1057
candyhong创建于 1月7日
fix(msprof): update task_type and mix_block_dim_ratio from bs_task_type #1057
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 candyhong 的贡献)ascend-robot
1月7日 评论:
1月7日 评论:
CANN-robot
1月7日 评论:
1月7日 评论:
CANN-robot
1月7日 评论:
1月7日 评论:
libing-pipeline创建中,请等待……


ascend-robot
1月7日 评论:
1月7日 评论:
以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入
| Module List | Reviewers | Committers |
|---|---|---|
| repo-Ascend/triton-ascend | meloliu12327, wcleungaj, fengrui886, kang-ingu, candyhong | HinPeng, ccdedreams, wcleungaj, shijingchang, zhaozhijie |


此处折叠了73条消息 查看更多
1月7日 添加了label:approved
luobq
1月7日 评论:
1月7日 评论:
/lgtm


1月7日 添加了label:lgtm
ascend-robot
1月7日 评论:
1月7日 评论:
Review Guide
This Pull-Request Passes Review.
Committers who writed a comment of /approve are: zhang-chunli01.
Reviewers who writed a comment of /lgtm are: candyhong, zhang-chunli01, luobaiqing.


1月7日 合入了pull request
描述
一、背景
当前性能采集流程存在两类核心问题,直接导致mix类型算子性能分析偏差:
task_type识别错误:TA侧无法精准区分
mix类型(MIX_AIC/MIX_AIV)与纯AIC算子,所有mix算子均被误上报为MSPROF_GE_TASK_TYPE_AI_CORE,无法建立mix算子与kernel元信息的正确关联;从核数据采集缺失:缺乏主核/从核比例(
mix_block_dim_ratio)上报,导致msprof工具无法识别从核数量,mix算子的从核性能数据(如MIX_AIC算子的aiv_time)始终为空,数据完整性不足。二、改动目标
bs_task_type精准识别MIX_AIC/MIX_AIV两种混合算子类型;mix_block_dim_ratio上报,修复从核性能数据采集为空的问题;bs_task_type时,保持原有上报逻辑。三、编码规则
bs_task_type编码规则表
task_typeAIV、2=AI_CORE、3=MIX_AIC、4=MIX_AIVmix_block_dim_ratio(主/从核比例)核数比例映射规则表(以block_dim=10为例)
MIX_AIC(主核AIC,从核AIV)AIC:10AIV:0AIC:10AIV:10AIC:10AIV:20MIX_AIV(主核AIV,从核AIC)AIV:10AIC:0AIV:10AIC:10四、具体改动方案
xx__infer_task_type_function,引入TA侧变量bs_task_type,根据编码规则获取task_type和mix_block_dim_ratiobs_task_type识别出mix类型算子时,判断是否是mix算子,mix算子则上报ctxID;纯AIC/AIV算子保持原有逻辑。bs_task_type中的mix_block_dim_ratio,将nodeBasicBlockDim更新为(mixBlockNumRation << 16) + blockNum:blockNum(实际运行的主核数量);mix_block_dim_ratio(从核数量比例)。xx__infer_task_type_function时,task_type回退回原来规则(如果mix_mode='aiv' 则设置为AIV,否则设置为AI_CORE),对应mix_block_dim_ratio默认为0五、核心流程图
graph TD A["性能采集上报触发"] --> B{"是否获取到 xx__infer_task_type_function 回调"} B -- 是 --> C["解析为TA侧bs_task_type变量"] C --> D{"根据十位编码判断task_type"} D -- 纯AIV(1) --> E["保持原有逻辑,不上报ctxID"] D -- 纯AIC(2) --> E D -- MIX_AIC(3)/MIX_AIV(4) --> F["补充上报 ctxID,用于关联subtask的kernel元信息"] F --> G["解析个位编码获取mix_block_dim_ratio"] G --> H["重构nodeBasicBlockDim:(ratio << 16) + blockNum"] B -- 否 --> I["执行回退机制"] I --> J{"mix_mode是否为'aiv'"} J -- 是 --> K["task_type设为AIV,ratio默认为0"] J -- 否 --> L["task_type设为AI_CORE,ratio默认为0"] E --> M["上报性能数据的nodeBasicInfo(或 ctxID)"] H --> M K --> M L --> M相关资料
checklist