PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
21.66k stars 5.44k forks source link

Good first issue for phi kernel output definition #51292

Closed From00 closed 1 year ago

From00 commented 1 year ago

问题描述 Please describe your issue

大家好,近期我们在Paddle框架中发现一些phi算子库中的算子,在kernel注册时未注册输出参数的数据类型(DataType)信息,导致静态图模式下执行器全静态选kernel出错。我们一共收集了68个存在问题的算子,欢迎大家提交PR来一起修复这些问题。

为了修复这些问题,你需要做的是:

  1. 阅读《开发C++算子》文档,学习C++算子开发流程。本次任务涉及对已有算子的改动,不需要完整地实现一个新算子,但了解新增算子所涉及的一些基本概念和流程,有助于更好地理解本次任务的具体工作,在遇到问题时也更容易分析排查。
  2. 阅读算子的kernel实现,确定该kernel的哪些输出参数是需要注册DataType的。
  3. 参考《Paddle代码贡献指南》,为kernel添加DataType注册信息。
  4. 完成本地测试,并提交PR将代码贡献到PaddlePaddle/Paddle仓库中。

注:

  1. PR https://github.com/PaddlePaddle/Paddle/pull/51233 给出了修复top_k算子的一个具体示例,你可以参照PR描述完成对其它算子的修复。这些case修复难度不大,还能借此了解飞桨的算子开发和注册机制。
  2. 该任务时间:PR 截止提交时间是3月31日,截止合入时间是4月3日。
  3. 认领规则:直接回复下 issue 下方
  4. PR 通过 CI 后,可以评论里 @From00 ,研发会进行审核
  5. 历史上的 good first issue 列表,也欢迎来提 PR 解决~ 欢迎联系花花加入社区,和我们一起快乐开源image

待修复算子列表(整体进度 68/68)

按 merge 的时间顺序,排名不分先后:@From00 (1) @huangjiyi (8) @DrRyanHuang (5) @Liyulingyue (6) @Ainavo (2) @GreatV (3) @jinyouzhi (6) @PPPPzhang (2) @sanbuphy(7) @hellolllw (1) @hellockx (1) @404988613 (1) @Little-chick(1) @junxiu777(1) @ccsuzzh (1) @lubiu (1) @Ackeraa (1) @enkilee (3) @AndPuQing (6) @Difers (2) @Tomoko-hjf (2) @LinearTemporalLogic (1) @AndSonder (7)

序号
算子名称
认领人 修复 PR
1 accuracy✅ (2023/03/09) @Liyulingyue #51308
2 all_close✅ (2023/03/12) @sanbuphy #51410
3 all_raw✅ (2023/03/12) @sanbuphy #51410
4 angle✅ (2023/03/10) @Liyulingyue #51314
5 argsort ✅ (2023/03/19) @sanbuphy #51407
6 argmax ✅ (2023/03/08) @DrRyanHuang #51315
7 argmin ✅ (2023/03/08) @DrRyanHuang #51315
8 as_real✅ (2023/03/09) @Liyulingyue #51313
9 atan2 ✅ (2023/03/16) @enkilee #51312
10 auc ✅ (2023/03/13) @Little-chick #51451
11 bincount✅ (2023/03/12) @hellockx #51508
12 check_finite_and_unscale ✅ (2023/04/17) @AndSonder #52941
13 clip_by_norm ✅ (2023/03/23) @jinyouzhi #51993
14 complex ✅ (2023/03/13) @lubiu #51478
15 conv3d_coo✅ (2023/03/13) @sanbuphy #51516
16 distribute_fpn_proposals✅ (2023/03/13) @sanbuphy #51516
17 edit_distance ✅ (2023/03/09) @jinyouzhi #51324
18 eig✅ (2023/03/15) @enkilee #51319
19 eig_grad ✅ (2023/04/17) @AndSonder #52941
20 eigh ✅ (2023/04/11) @LinearTemporalLogic #51362
21 eigvals ✅ (2023/03/09) @GreatV #51393
22 fft_c2r ✅ (2023/03/19) @Difers #51563
23 fft_r2c ✅ (2023/03/19) @Difers #51563
24 fused_adam ✅ (2023/03/09) @jinyouzhi #51323
25 fused_matmul ✅ (2023/03/13) @jinyouzhi #51326
26 generate_proposals✅ (2023/03/16) sanbuphy #51576
27 graph_sample_neighbors ✅ (2023/03/29) @Tomoko-hjf #51503
28 group_norm ✅ (2023/03/29) @Tomoko-hjf #51503
29 histogram✅ (2023/03/14) @enkilee #51317
30 instance_norm✅ (2023/03/16) @sanbuphy #51576
31 is_empty✅ (2023/03/12) @hellolllw #51484
32 is_finite ✅ (2023/03/08) @DrRyanHuang #51322
33 kthvalue✅ (2023/03/13) @junxiu777 #51534
34 lamb✅ (2023/04/17) @AndSonder #52941
35 logical_and ✅ (2023/03/08) @huangjiyi #51331
36 logical_not ✅ (2023/03/08) @huangjiyi #51331
37 logical_or ✅ (2023/03/08) @huangjiyi #51331
38 logical_xor ✅ (2023/03/08) @huangjiyi #51331
39 lstsq ✅ (2023/03/08) @huangjiyi #51333
40 lu ✅ (2023/03/08) @huangjiyi #51333
41 matrix_nms ✅ (2023/03/08) @huangjiyi #51333
42 matrix_rank_tol✅ (2023/03/08) @huangjiyi #51333
43 mode ✅ (2023/03/12) @ccsuzzh #51363
44 momentum ✅ (2023/03/24) @AndPuQing #51353
45 multiclass_nms3✅ (2023/03/22) @AndPuQing #51355
46 multinomial ✅ (2023/03/17) @AndPuQing #51357
47 nanmedian✅ (2023/03/23) @AndPuQing #51358
48 nms ✅ (2023/03/08) @Ainavo #51325
49 nonzero ✅ (2023/03/08) @Ainavo #51325
50 numl ✅ (2023/03/10) @DrRyanHuang #51356
51 qr ✅ (2023/03/08) @GreatV #51311
52 qr_grad ✅ (2023/03/08) @GreatV #51311
53 rnn ✅ (2023/03/16) @AndPuQing #51360
54 roi_pool✅ (2023/03/08) @Liyulingyue #51320
55 search_sort✅ (2023/03/16) @AndPuQing #51360
56 select✅ (2023/03/14) @Ackeraa #51595
57 send_u_recv ✅ (2023/03/12) @PPPPzhang #51501
58 send_ue_recv ✅ (2023/03/12) @PPPPzhang #51522
59 sgd ✅ (2023/03/09) @jinyouzhi #51332
60 svd ✅ (2023/03/10) @DrRyanHuang #51356
61 sync_batch_norm_grad ✅ (2023/04/17) @AndSonder #52941
62 top_k ✅ (2023/03/07) @From00 #51233
63 unique✅ (2023/04/17) @AndSonder #52941
64 unique_consecutive_flattened_tensor ✅ (2023/04/17) @AndSonder #52941
65 unique_raw ✅ (2023/04/17) @AndSonder #52941
66 viterbi_decode✅ (2023/03/09) @Liyulingyue #51318
67 viterbi_devode✅ (2023/03/13) @404988613 #51523
68 yolo_loss ✅ (2023/03/10) @Liyulingyue #51316
paddle-bot[bot] commented 1 year ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

DrRyanHuang commented 1 year ago
认领人 | 任务 | 内容 | PR -- | -- | -- | -- DrRyanHuang | 6 | arg_max | https://github.com/PaddlePaddle/Paddle/pull/51315 DrRyanHuang | 7 | argmin | https://github.com/PaddlePaddle/Paddle/pull/51315
enkilee commented 1 year ago

atan2

GreatV commented 1 year ago
认领人 任务 内容 PR
@GreatV 51 qr #51311
@GreatV 52 qr_grad #51311
longranger2 commented 1 year ago

认领10、11、12

sanbuphy commented 1 year ago

认领2、3、5

Liyulingyue commented 1 year ago

认领1、8、4

zade23 commented 1 year ago

认领22、23

enkilee commented 1 year ago

histogram

zrr1999 commented 1 year ago

认领 31.is_empty

jjyaoao commented 1 year ago

认领63.unique

Liyulingyue commented 1 year ago

68

Ainavo commented 1 year ago

49

Liyulingyue commented 1 year ago

66

enkilee commented 1 year ago

18

ccsuzzh commented 1 year ago

认领38.logical_xor

Liyulingyue commented 1 year ago

54

DrRyanHuang commented 1 year ago
认领人 | 任务 | 内容 | PR -- | -- | -- | -- DrRyanHuang | 32 | is_finite | https://github.com/PaddlePaddle/Paddle/pull/51322
Ainavo commented 1 year ago

48

huangjiyi commented 1 year ago
序号 算子 认领人 PR
35, 36, 37, 38 logical_xxx @huangjiyi #51331
39, 40, 41, 42 lstsq, lu, matrix_nms, matrix_rank_tol @huangjiyi #51333
jinyouzhi commented 1 year ago
序号 算子名称 认领人 修复 PR
17 edit_distance @jinyouzhi #51324
24 fused_adam @jinyouzhi #51323
25 fused_matmul @jinyouzhi #51326
59 sgd @jinyouzhi #51332
ccsuzzh commented 1 year ago
认领人 任务 内容 PR
ccsuzzh 43 mode #51363
luotao1 commented 1 year ago

认领38.logical_xor

@ccsuzzh 任务38已经被提 PR 了,可以换一个任务:https://github.com/PaddlePaddle/Paddle/issues/51292#issuecomment-1458396191

DrRyanHuang commented 1 year ago
认领人 | 任务 | 内容 | PR -- | -- | -- | -- DrRyanHuang | 50 | numel | https://github.com/PaddlePaddle/Paddle/pull/51356 DrRyanHuang | 60| svd| https://github.com/PaddlePaddle/Paddle/pull/51356
chengyuma commented 1 year ago

认领20

AndPuQing commented 1 year ago
认领人 任务 PR
PuQing momentum https://github.com/PaddlePaddle/Paddle/pull/51353
PuQing multiclass_nms3 https://github.com/PaddlePaddle/Paddle/pull/51355
PuQing multinomial https://github.com/PaddlePaddle/Paddle/pull/51357
PuQing nanmedian https://github.com/PaddlePaddle/Paddle/pull/51358
PuQing rnn https://github.com/PaddlePaddle/Paddle/pull/51360
PuQing searchsorted https://github.com/PaddlePaddle/Paddle/pull/51360
jjyaoao commented 1 year ago

认领33

ComputationTreeLogic commented 1 year ago

认领 34 lamb

GreatV commented 1 year ago
认领人 任务 内容 PR
@GreatV 21 eigvals #51393
AndSonder commented 1 year ago

认领 56 select

sanbuphy commented 1 year ago

认领13 14 15 16

Little-chick commented 1 year ago

认领10,PR #51451

PPPPzhang commented 1 year ago

认领57,58

ShiYue-oo commented 1 year ago

认领 19,64,65

404988613 commented 1 year ago

认领61,67

Little-chick commented 1 year ago

认领13 14

luotao1 commented 1 year ago

@longranger2 任务10已经有PR:https://github.com/PaddlePaddle/Paddle/issues/51292#issuecomment-1463036231

@sanbuphy @Little-chick 两位请注意:13/14两位都认领了。

PPPPzhang commented 1 year ago

认领 26

PPPPzhang commented 1 year ago

您好,57中的 send_recv 在kernels目录下没有,但是有 send_u_recv 和 send_uv_recv,请问是对应哪个呢?

Tomoko-hjf commented 1 year ago

认领 27, 28

From00 commented 1 year ago

您好,57中的 send_recv 在kernels目录下没有,但是有 send_u_recv 和 send_uv_recv,请问是对应哪个呢?

@PPPPzhang 是send_u_recv

PPPPzhang commented 1 year ago

非常感谢!

sanbuphy commented 1 year ago

认领 26 27 28 30

404988613 commented 1 year ago

认领30

404988613 commented 1 year ago

您好,viterbi_devode在phi/kernels中没有找到,该怎么去找对应的呢

404988613 commented 1 year ago

您好,61中的sync_batch_norm_grad在phi/kernels中也没有找到,该怎么去找对应的呢

From00 commented 1 year ago

您好,viterbi_devode在phi/kernels中没有找到,该怎么去找对应的呢

这个算子不存在,是统计错误,viterbi_devode应为viterbi_decodeviterbi_decode已经被修复了,你只需要在黑名单中移除viterbi_devode即可。

From00 commented 1 year ago

sync_batch_norm_grad

@404988613 sync_batch_norm_grad有两个kernel: https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/gpu/sync_batch_norm_grad_kernel.cu https://github.com/PaddlePaddle/Paddle/blob/develop/paddle/phi/kernels/sparse/gpu/sync_batch_norm_grad_kernel.cu

junxiu777 commented 1 year ago

认领33

Little-chick commented 1 year ago

case12 -- check_finite_and_unscale找不到这个文件,