Open risemeup1 opened 1 month ago
收到
risemeup1 @.***> 于2024年7月1日周一 11:01写道:
问题描述 Please describe your issue 一,背景和任务列表
任务详情和单测验证请参考之前发布的任务:#57097 https://github.com/PaddlePaddle/Paddle/issues/57097
- Sparse Python API 情况: 目前 python 端注册了大约46个左右的 API,集中在 python/paddle/sparse 目录下,绝大部分是动态图 API,14个是动静统一的 API,算子定义都定义在 sparse_ops.yaml 及 sparse_backward.yaml 文件中,通过自动代码生成的方式生成在 paddle/fluid/operators/generated_sparse_op.cc 文件,全部符合 yaml 定义规范,多数算子都注册了 coo、csr 两种 kernel,根据 PIR 算子/Kernel 一对一的特点,PIR 下需要区分定义 coo、csr,这点与 SelectedRows 特点相近。
序号 Python API 动态图 静态图 Kernel 是否做到动静一致 1 sin 是 @. https://github.com/MrJs133 https://camo.githubusercontent.com/524bc671642e65cf29ae42797151b3c5b81468cd4a5c61a6f250f237307b4745/68747470733a2f2f696d672e736869656c64732e696f2f62616467652fe78ab6e680812de68aa5e5908d2d324543433731 sin_coo、sin_csr 是 2 tan 是 @. https://github.com/MrJs133 https://camo.githubusercontent.com/524bc671642e65cf29ae42797151b3c5b81468cd4a5c61a6f250f237307b4745/68747470733a2f2f696d672e736869656c64732e696f2f62616467652fe78ab6e680812de68aa5e5908d2d324543433731 tan_coo、tan_csr 是 3 asin 是 否 asin_coo、asin_csr 是 4 transpose 是 否 transpose_coo、transpose_csr 是 5 sum 是 是 sum_coo、sum_csr 是 6 atan 是 否 atan_coo、atan_csr 是 7 sinh 是 否 sinh_coo、sinh_csr 是 8 asinh 是 否 asinh_coo、asinh_csr 是 9 atanh 是 否 atanh_coo、atanh_csr 是 10 tanh 是 否 tanh_coo、tanh_csr 是 11 square 是 否 square_coo、square_csr 是 12 sqrt 是 否 sqrt_coo、sqrt_csr 是 13 log1p 是 否 log1p_coo、log1p_csr 是 14 cast 是 否 cast_coo、cast_csr 是 15 pow 是 否 pow_coo、pow_csr 是 16 neg 是 否 scale_coo、scale_csr 是 17 abs 是 否 abs_coo、abs_csr 是 18 coalesce 是 否 coalesce_coo 是 19 rad2deg 是 否 cast_coo、cast_csr、scale_coo、scale_csr 是 20 deg2rad 是 否 cast_coo、cast_csr、scale_coo、scale_csr 是 21 expm1 是 否 expm1_coo、expm1_csr 是 22 reshape 是 是 reshape_coo、reshape_csr 是 23 isnan 是 是 isnan_coo、isnan_csr 是 24 slice 是 是 slice_coo、slice_csr 是 25 pca_lowrank 是 是 通过其他 API 组合 是 26 addmm 是 否 addmm_csr_dense、addmm_csr_csr、addmm_coo_dense、addmm_coo_coo 是 27 sparse_coo_tensor 是 是 sparse_coo_tensor 是 28 sparse_csr_tensor 是 否 sparse_csr_tensor 是 29 matmul 是 否 matmul_csr_dense、matmul_csr_csr、matmul_coo_dense、matmul_coo_coo 是 30 masked_matmul 是 否 masked_matmul_csr 是 31 mv 是 否 mv_coo、mv_csr 是 32 add 是 是 add_coo_coo、add_csr_csr、add_coo_dense 是 33 subtract 是 否 subtract_coo_coo、subtract_csr_csr 是 34 multiply 是 否 multiply_coo_coo、multiply_csr_csr 是 35 divide 是 否 divide_coo_coo、divide_csr_csr 是 36 is_same_shape 是 否 tensor method 是 37 relu 是 是 relu_coo、relu_csr 是 38 softmax 是 是 softmax_coo、softmax_csr 是 39 relu6 是 否 relu6_coo、relu6_csr 是 40 leaky_relu 是 否 leaky_relu_coo、leaky_relu_csr 是 41 conv3d 是 是 conv3d_coo 是 42 subm_conv3d 是 是 conv3d_coo 是 43 conv2d 是 是 conv2d_coo 是 44 subm_conv2d 是 是 conv3d_coo 是 45 max_pool3d 是 是 maxpool_coo 是 46 attention 是 否 fused_attention_csr 是
单测现状:
-
有一些动静统一的api既有动态图下的单测也有静态图下的单测,如sum,conv等,此类单测已经修复完毕; image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/0b67df2a-4770-4a23-a4aa-b205d5f17f6b
有一些动静统一的api只有动态图下的单测,没有静态图下的单测,如subm_conv3d,需要补在静态图下的单测, image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/e5350f68-f4b4-4b4a-9961-eb2c6bdaeebd
有一些仅仅在动态图下有定义的api,如sin,需要对python API进行适配升级,然后补全在动态图和静态图下的单测,请参考
57097 https://github.com/PaddlePaddle/Paddle/issues/57097
image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/17e00990-5f11-45f5-9019-bd85d4956eb9
二、Task 📚
- 动静统一的python api,需要补全静态图单测的任务
序号 Python API 所在文件 对应单测 认领人/PR 单测覆盖率 1 reshape Paddle/python/paddle/sparse/unary.py test/legacy_test/test_sparse_reshape_op.py 2 add Paddle/python/paddle/sparse/binary.py test/deprecated/legacy_test/test_sparse_elementwise_op.py 3 softmax python/paddle/sparse/nn/functional/activation.py test/legacy_test/test_sparse_fused_attention_op.py 4 subm_conv3d python/paddle/sparse/nn/functional/conv.py test/legacy_test/test_sparse_conv_op.py 5 subm_conv2d python/paddle/sparse/nn/functional/conv.py test/legacy_test/test_sparse_conv_op.py 6 max_pool3d python/paddle/sparse/nn/functional/pooling.py test/legacy_test/test_sparse_pooling_op.py
2 仅在动态图下有定义的api,需要对python API进行适配升级,然后补全在动态图和静态图下的单测 序号 Python API 所在文件 对应单测 认领人/PR 单测覆盖率 7 sin python/paddle/sparse/unary.py test_sparse_unary_op.py 8 tan python/paddle/sparse/unary.py test_sparse_unary_op.py 9 asin python/paddle/sparse/unary.py test_sparse_unary_op.py 10 transpose python/paddle/sparse/unary.py test_sparse_transpose_op.py 11 atan python/paddle/sparse/unary.py test_sparse_unary_op.py 12 sinh python/paddle/sparse/unary.py test_sparse_unary_op.py 13 asinh python/paddle/sparse/unary.py test_sparse_unary_op.py 14 atanh python/paddle/sparse/unary.py test_sparse_unary_op.py 15 tanh python/paddle/sparse/unary.py test_sparse_unary_op.py 16 square python/paddle/sparse/unary.py test_sparse_unary_op.py 17 sqrt python/paddle/sparse/unary.py test_sparse_unary_op.py 18 log1p python/paddle/sparse/unary.py test_sparse_unary_op.py 19 pow python/paddle/sparse/unary.py test_sparse_unary_op.py 20 neg python/paddle/sparse/unary.py test_sparse_unary_op.py 21 abs python/paddle/sparse/unary.py test_sparse_unary_op.py 22 cast python/paddle/sparse/unary.py test_sparse_unary_op.py 23 coalesce python/paddle/sparse/unary.py test_sparse_conv_op.py/test_sparse_pca_lowrank.py/test_sparse_utils_op.py 24 rad2deg python/paddle/sparse/unary.py test_sparse_unary_op.py 25 deg2rad python/paddle/sparse/unary.py test_sparse_unary_op.py 26 expm1 python/paddle/sparse/unary.py test_sparse_unary_op.py 27 addmm python/paddle/sparse/unary.py test_sparse_addmm_op.py 28 sparse_csr_tensor python/paddle/sparse/unary.py test_sparse_utils_op.py/test_sparse_matmul_op.py 29 matmul python/paddle/sparse/binary.py test_sparse_matmul_op.py 30 masked_matmul python/paddle/sparse/binary.py test_sparse_matmul_op.py 31 mv python/paddle/sparse/binary.py test_sparse_mv_op.py 32 subtract python/paddle/sparse/binary.py test_sparse_elementwise_op.py 33 multiply python/paddle/sparse/binary.py test_sparse_elementwise_op.py 34 divide python/paddle/sparse/binary.py test_sparse_elementwise_op.py 35 is_same_shape python/paddle/sparse/binary.py test_sparse_is_same_shape_op.py 36 relu6 python/paddle/sparse/nn/functional/activation.py test_sparse_unary_op.py 37 leaky_relu python/paddle/sparse/nn/functional/activation.py test_sparse_unary_op.py 38 leaky_relu python/paddle/sparse/nn/functional/transformer.py test_sparse_fused_attention_op.py 1. 认领方式
请大家以 comment 的形式认领任务,如:
【报名】:1、3、12-13
多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
PR提交
- PR名称需要加前缀 【Migrate Sparse API No.XXX】
- PR描述中需要附上本issue
- 评论里或者 review request @risemeup1 https://github.com/risemeup1 研发会进行审核
看板信息 任务方向 任务数量 提交作品 / 任务认领 提交率 完成 完成率 【快乐开源】PIR下Sparse算子Python API 适配 14 0 / 2 0.0% 0 0.0% 统计信息
排名不分先后
— Reply to this email directly, view it on GitHub https://github.com/PaddlePaddle/Paddle/issues/64492, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYQIV66OX4MJN6YOHUXJCYLZKDBBBAVCNFSM6AAAAABIBE6YRKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYDONZQGI3DONI . You are receiving this because you were mentioned.Message ID: @.***>
您好: 最近我有其他紧急事务需要处理,时间协调不开,请问如何取消认领? 不好意思!
靳松 @.***> 于2024年7月1日周一 11:21写道:
收到
risemeup1 @.***> 于2024年7月1日周一 11:01写道:
问题描述 Please describe your issue 一,背景和任务列表
任务详情和单测验证请参考之前发布的任务:#57097 https://github.com/PaddlePaddle/Paddle/issues/57097
- Sparse Python API 情况: 目前 python 端注册了大约46个左右的 API,集中在 python/paddle/sparse 目录下,绝大部分是动态图 API,14个是动静统一的 API,算子定义都定义在 sparse_ops.yaml 及 sparse_backward.yaml 文件中,通过自动代码生成的方式生成在 paddle/fluid/operators/generated_sparse_op.cc 文件,全部符合 yaml 定义规范,多数算子都注册了 coo、csr 两种 kernel,根据 PIR 算子/Kernel 一对一的特点,PIR 下需要区分定义 coo、csr,这点与 SelectedRows 特点相近。
序号 Python API 动态图 静态图 Kernel 是否做到动静一致 1 sin 是 @. https://github.com/MrJs133 https://camo.githubusercontent.com/524bc671642e65cf29ae42797151b3c5b81468cd4a5c61a6f250f237307b4745/68747470733a2f2f696d672e736869656c64732e696f2f62616467652fe78ab6e680812de68aa5e5908d2d324543433731 sin_coo、sin_csr 是 2 tan 是 @. https://github.com/MrJs133 https://camo.githubusercontent.com/524bc671642e65cf29ae42797151b3c5b81468cd4a5c61a6f250f237307b4745/68747470733a2f2f696d672e736869656c64732e696f2f62616467652fe78ab6e680812de68aa5e5908d2d324543433731 tan_coo、tan_csr 是 3 asin 是 否 asin_coo、asin_csr 是 4 transpose 是 否 transpose_coo、transpose_csr 是 5 sum 是 是 sum_coo、sum_csr 是 6 atan 是 否 atan_coo、atan_csr 是 7 sinh 是 否 sinh_coo、sinh_csr 是 8 asinh 是 否 asinh_coo、asinh_csr 是 9 atanh 是 否 atanh_coo、atanh_csr 是 10 tanh 是 否 tanh_coo、tanh_csr 是 11 square 是 否 square_coo、square_csr 是 12 sqrt 是 否 sqrt_coo、sqrt_csr 是 13 log1p 是 否 log1p_coo、log1p_csr 是 14 cast 是 否 cast_coo、cast_csr 是 15 pow 是 否 pow_coo、pow_csr 是 16 neg 是 否 scale_coo、scale_csr 是 17 abs 是 否 abs_coo、abs_csr 是 18 coalesce 是 否 coalesce_coo 是 19 rad2deg 是 否 cast_coo、cast_csr、scale_coo、scale_csr 是 20 deg2rad 是 否 cast_coo、cast_csr、scale_coo、scale_csr 是 21 expm1 是 否 expm1_coo、expm1_csr 是 22 reshape 是 是 reshape_coo、reshape_csr 是 23 isnan 是 是 isnan_coo、isnan_csr 是 24 slice 是 是 slice_coo、slice_csr 是 25 pca_lowrank 是 是 通过其他 API 组合 是 26 addmm 是 否 addmm_csr_dense、addmm_csr_csr、addmm_coo_dense、addmm_coo_coo 是 27 sparse_coo_tensor 是 是 sparse_coo_tensor 是 28 sparse_csr_tensor 是 否 sparse_csr_tensor 是 29 matmul 是 否 matmul_csr_dense、matmul_csr_csr、matmul_coo_dense、matmul_coo_coo 是 30 masked_matmul 是 否 masked_matmul_csr 是 31 mv 是 否 mv_coo、mv_csr 是 32 add 是 是 add_coo_coo、add_csr_csr、add_coo_dense 是 33 subtract 是 否 subtract_coo_coo、subtract_csr_csr 是 34 multiply 是 否 multiply_coo_coo、multiply_csr_csr 是 35 divide 是 否 divide_coo_coo、divide_csr_csr 是 36 is_same_shape 是 否 tensor method 是 37 relu 是 是 relu_coo、relu_csr 是 38 softmax 是 是 softmax_coo、softmax_csr 是 39 relu6 是 否 relu6_coo、relu6_csr 是 40 leaky_relu 是 否 leaky_relu_coo、leaky_relu_csr 是 41 conv3d 是 是 conv3d_coo 是 42 subm_conv3d 是 是 conv3d_coo 是 43 conv2d 是 是 conv2d_coo 是 44 subm_conv2d 是 是 conv3d_coo 是 45 max_pool3d 是 是 maxpool_coo 是 46 attention 是 否 fused_attention_csr 是
单测现状:
-
有一些动静统一的api既有动态图下的单测也有静态图下的单测,如sum,conv等,此类单测已经修复完毕; image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/0b67df2a-4770-4a23-a4aa-b205d5f17f6b
有一些动静统一的api只有动态图下的单测,没有静态图下的单测,如subm_conv3d,需要补在静态图下的单测, image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/e5350f68-f4b4-4b4a-9961-eb2c6bdaeebd
有一些仅仅在动态图下有定义的api,如sin,需要对python API进行适配升级,然后补全在动态图和静态图下的单测,请参考
57097 https://github.com/PaddlePaddle/Paddle/issues/57097
image.png (view on web) https://github.com/PaddlePaddle/Paddle/assets/62429225/17e00990-5f11-45f5-9019-bd85d4956eb9
二、Task 📚
- 动静统一的python api,需要补全静态图单测的任务
序号 Python API 所在文件 对应单测 认领人/PR 单测覆盖率 1 reshape Paddle/python/paddle/sparse/unary.py test/legacy_test/test_sparse_reshape_op.py 2 add Paddle/python/paddle/sparse/binary.py test/deprecated/legacy_test/test_sparse_elementwise_op.py 3 softmax python/paddle/sparse/nn/functional/activation.py test/legacy_test/test_sparse_fused_attention_op.py 4 subm_conv3d python/paddle/sparse/nn/functional/conv.py test/legacy_test/test_sparse_conv_op.py 5 subm_conv2d python/paddle/sparse/nn/functional/conv.py test/legacy_test/test_sparse_conv_op.py 6 max_pool3d python/paddle/sparse/nn/functional/pooling.py test/legacy_test/test_sparse_pooling_op.py
2 仅在动态图下有定义的api,需要对python API进行适配升级,然后补全在动态图和静态图下的单测 序号 Python API 所在文件 对应单测 认领人/PR 单测覆盖率 7 sin python/paddle/sparse/unary.py test_sparse_unary_op.py 8 tan python/paddle/sparse/unary.py test_sparse_unary_op.py 9 asin python/paddle/sparse/unary.py test_sparse_unary_op.py 10 transpose python/paddle/sparse/unary.py test_sparse_transpose_op.py 11 atan python/paddle/sparse/unary.py test_sparse_unary_op.py 12 sinh python/paddle/sparse/unary.py test_sparse_unary_op.py 13 asinh python/paddle/sparse/unary.py test_sparse_unary_op.py 14 atanh python/paddle/sparse/unary.py test_sparse_unary_op.py 15 tanh python/paddle/sparse/unary.py test_sparse_unary_op.py 16 square python/paddle/sparse/unary.py test_sparse_unary_op.py 17 sqrt python/paddle/sparse/unary.py test_sparse_unary_op.py 18 log1p python/paddle/sparse/unary.py test_sparse_unary_op.py 19 pow python/paddle/sparse/unary.py test_sparse_unary_op.py 20 neg python/paddle/sparse/unary.py test_sparse_unary_op.py 21 abs python/paddle/sparse/unary.py test_sparse_unary_op.py 22 cast python/paddle/sparse/unary.py test_sparse_unary_op.py 23 coalesce python/paddle/sparse/unary.py test_sparse_conv_op.py/test_sparse_pca_lowrank.py/test_sparse_utils_op.py 24 rad2deg python/paddle/sparse/unary.py test_sparse_unary_op.py 25 deg2rad python/paddle/sparse/unary.py test_sparse_unary_op.py 26 expm1 python/paddle/sparse/unary.py test_sparse_unary_op.py 27 addmm python/paddle/sparse/unary.py test_sparse_addmm_op.py 28 sparse_csr_tensor python/paddle/sparse/unary.py test_sparse_utils_op.py/test_sparse_matmul_op.py 29 matmul python/paddle/sparse/binary.py test_sparse_matmul_op.py 30 masked_matmul python/paddle/sparse/binary.py test_sparse_matmul_op.py 31 mv python/paddle/sparse/binary.py test_sparse_mv_op.py 32 subtract python/paddle/sparse/binary.py test_sparse_elementwise_op.py 33 multiply python/paddle/sparse/binary.py test_sparse_elementwise_op.py 34 divide python/paddle/sparse/binary.py test_sparse_elementwise_op.py 35 is_same_shape python/paddle/sparse/binary.py test_sparse_is_same_shape_op.py 36 relu6 python/paddle/sparse/nn/functional/activation.py test_sparse_unary_op.py 37 leaky_relu python/paddle/sparse/nn/functional/activation.py test_sparse_unary_op.py 38 leaky_relu python/paddle/sparse/nn/functional/transformer.py test_sparse_fused_attention_op.py 1. 认领方式
请大家以 comment 的形式认领任务,如:
【报名】:1、3、12-13
多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
PR提交
- PR名称需要加前缀 【Migrate Sparse API No.XXX】
- PR描述中需要附上本issue
- 评论里或者 review request @risemeup1 https://github.com/risemeup1 研发会进行审核
看板信息 任务方向 任务数量 提交作品 / 任务认领 提交率 完成 完成率 【快乐开源】PIR下Sparse算子Python API 适配 14 0 / 2 0.0% 0 0.0% 统计信息
排名不分先后
— Reply to this email directly, view it on GitHub https://github.com/PaddlePaddle/Paddle/issues/64492, or unsubscribe https://github.com/notifications/unsubscribe-auth/AYQIV66OX4MJN6YOHUXJCYLZKDBBBAVCNFSM6AAAAABIBE6YRKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYDONZQGI3DONI . You are receiving this because you were mentioned.Message ID: @.***>
问题描述 Please describe your issue
一,背景和任务列表
任务详情和单测验证请参考之前发布的任务:https://github.com/PaddlePaddle/Paddle/issues/57097
有一些动静统一的api既有动态图下的单测也有静态图下的单测,如sum,conv等,此类单测已经修复完毕;![image](https://github.com/PaddlePaddle/Paddle/assets/62429225/0b67df2a-4770-4a23-a4aa-b205d5f17f6b)
有一些动静统一的api只有动态图下的单测,没有静态图下的单测,如subm_conv3d,需要补在静态图下的单测,![image](https://github.com/PaddlePaddle/Paddle/assets/62429225/e5350f68-f4b4-4b4a-9961-eb2c6bdaeebd)
有一些仅仅在动态图下有定义的api,如sin,需要对python API进行适配升级,然后补全在动态图和静态图下的单测,请参考 https://github.com/PaddlePaddle/Paddle/issues/57097![image](https://github.com/PaddlePaddle/Paddle/assets/62429225/17e00990-5f11-45f5-9019-bd85d4956eb9)
二、Task 📚
2 仅在动态图下有定义的api,需要对python API进行适配升级,然后补全在动态图和静态图下的单测
1. 认领方式
请大家以 comment 的形式认领任务,如:
多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
2. PR提交
看板信息
统计信息