已关闭
[Bug-Report|缺陷反馈]: cubeL1 reuse同构子图数量异常 #3290
Wuuuug创建于  25 天前关闭于  25 天前
Wuuuug
Wuuuug
25 天前 创建

Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.

Describe the current behavior / 问题描述 (Mandatory / 必填)

问题描述:pypto-gym仓tensor版本engram前向算子的value_proj的matmul的同构子图数量异常,开启L1_reuse = 4时,[128,1536]的行块(12个[128,128])被分为四个子图(两个子图算出四个[128,128],一个子图算出三个[128,128],最后一个子图出现对前面三个cube子图的依赖,并计算最后一个[128,128]),导致后续依赖该cube子图的vec子图延后执行,出现了CV接近串行的情况,具体可以看下面的泳道图对比情况。

测试脚本:pypto-gym/tests/ops/experimental/ops_transformer/engram/test_engram_forward.py

算子实现代码:pypto-gym/src/pypto_gym/ops/pypto_tensor/experimental/ops_transformer/engram/engram_forward_impl.py

异常泳道图:
image.png

正常泳道图:
image.png

子图对应代码:

        offset = bs_idx
        pypto.set_semantic_label("value_proj")
        pypto.set_cube_tile_shapes([128, 128], [128, 256], [128, 128])
        embeddings = embeddings_in[offset:offset + tile]
        value_proj = pypto.matmul(embeddings, proj_weights_value_in, pypto.DT_FP32)

Environment / 环境信息 (Mandatory / 必填)

A3

Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)

安装当前最新pypto包,在算子实现代码中添加debug_options={"runtime_debug_mode": 1},执行gym仓测试代码,参考第一个用例的泳道图即可

测试脚本:pypto-gym/tests/ops/experimental/ops_transformer/engram/test_engram_forward.py

算子实现代码:pypto-gym/src/pypto_gym/ops/pypto_tensor/experimental/ops_transformer/engram/engram_forward_impl.py

Describe the expected behavior / 预期结果 (Mandatory / 必填)

这个case同构子图数量应该为12,且不应该出现最后一个[128,128]的块依赖前面的几个块的情况,泳道图应该如下所示:
image.png

参考上面泳道图

Special notes for this issue/备注 (Optional / 选填)

当前已验证pypto在commit d69ff4216b3e10f0099c3366b4005fe6de0c4c77处已出现上述问题,在commit 9c26447520177b1b583743bc1d38944d157693a8处是正常的

likedislike
袁野袁野成员
25 天前 将 KaiqiJin 设为负责人
袁野袁野成员
25 天前 issue类型由 任务 改变为 缺陷
袁野袁野成员
25 天前 添加了label:Passes
KaiqiJinKaiqiJin成员
25 天前 将 zhangxiangjie 设为负责人
KaiqiJinKaiqiJin成员
25 天前 移除了负责人 KaiqiJin
Wuuuug
Wuuuug
25 天前 评论:

已由https://gitcode.com/cann/pypto/pull/6065 解决最新主线验证ok

likedislike
WuuuugWuuuug
25 天前 issue状态由 待办的 改变为 已完成
WuuuugWuuuug
25 天前 关闭了 issue
WuuuugWuuuug
25 天前 issue状态由 已完成 改变为 已确认
WuuuugWuuuug
25 天前 重新打开了 issue
WuuuugWuuuug
25 天前 issue状态由 已确认 改变为 已解决
WuuuugWuuuug
25 天前 关闭了 issue