Skip to content

【开源任务】 Paddle API 0-size 机制建设-第2批 #73182

@wanghuancoder

Description

@wanghuancoder

一、背景

0-Size Tensor是指,Tensor.shape中存在某维度值为0,进而该Tensor虽有shape、dtype、place等信息,但他的元素个数为0。在切割等特定业务中,0-Size出现频率较高。Paddle目前对0-Size的支持非常薄弱,需要系统性摸排、建设。
参与本项活动,你将学习到Paddle算子库框架的设计,并了解Paddle动态图的整体执行流程。对深度学习框架0-Size业务有深刻了解。也有可能会涉猎到Paddle组合算子机制和编译器符号推导机制。遇到问题我们将有专人解答。

二、任务描述

本次开源任务主要用于完善Paddle的一些API对0-size Tensor的支持,这些不支持0-size Tensor的API遇到0-size Tensor时会出现例如精度异常、Coredump、Cuda Error、报错等问题。这些存在问题的API大概率是由于Kernel没有考虑到0-Size场景而产生的,当然也涉及到API shape的推导。 其他的成因需要具体分析。需要修复的API如下:

Important

每个任务难度:0.025×🌟
题目讲解见录屏文件:https://meeting.tencent.com/crm/l59EWmRZc4 (00:16:00~00:36:00)
详细介绍见:

  • 报名格式参考:【报名】:2、3,多个任务之间需要使用中文顿号分隔,报名多个连续任务可用横线表示,如 2-5
  • PR 提交格式:在 PR 的标题中以 【0-size Tensor Job2 No.xxx】 开头,注明任务编号。请注意,标题中一定要加Job2,以和第一批任务区分。
序号 API 报名人/状态 CPU/GPU/testcase
1 paddle.add @co63oc #296
gpu
2 paddle.add_n @co63oc #73541 #73550
gpu,cpu
3 paddle.bincount @co63oc #73548 #73550
gpu,cpu
4 paddle.broadcast_tensors @co63oc #290
gpu
5 paddle.cdist @co63oc #297
gpu,cpu
6 paddle.crop @co63oc #73333 #73299
gpu,cpu
7 paddle.cumprod @co63oc #73333 #73358 #73386
gpu
8 paddle.divide @co63oc #291
gpu
9 paddle.dot @co63oc #73450
gpu,cpu
10 paddle.equal_all @co63oc #73550
gpu
11 paddle.expand_as @zhengshengning #73853
@co63oc #74176
gpu,cpu
12 paddle.full @co63oc #73552 #73582
gpu,cpu
13 paddle.gammainc @co63oc #73437
gpu
14 paddle.gammaincc @co63oc #73207
gpu
15 paddle.gather @co63oc #73483
gpu,cpu
16 paddle.gather_nd @co63oc #73702
gpu,cpu
17 paddle.geometric.segment_max @co63oc #73341
gpu,cpu
18 paddle.geometric.segment_mean @co63oc #73341
gpu,cpu
19 paddle.geometric.segment_min @co63oc #73341
gpu,cpu
20 paddle.geometric.segment_sum @co63oc #73341
gpu,cpu
21 paddle.geometric.send_u_recv @zhengshengning #73806
gpu,cpu
22 paddle.geometric.send_ue_recv @zhengshengning #73806
gpu,cpu
23 paddle.geometric.send_uv @zhengshengning #73806
gpu,cpu
24 paddle.histogram @co63oc #73375
gpu,cpu
25 paddle.increment @co63oc #73382
gpu,cpu
26 paddle.incubate.nn.functional.fused_bias_dropout_residual_layer_norm @co63oc #74029
gpu
27 paddle.incubate.nn.functional.fused_linear @co63oc #74152
gpu
28 paddle.incubate.nn.functional.fused_linear_activation @co63oc #74005 #74006
gpu
29 paddle.incubate.nn.functional.fused_multi_head_attention @co63oc #74006
gpu
30 paddle.incubate.nn.functional.swiglu @co63oc #73346
gpu,cpu
31 paddle.incubate.segment_max @co63oc #73341
gpu,cpu
32 paddle.incubate.segment_mean @co63oc #73341
gpu,cpu
33 paddle.incubate.segment_min @co63oc #73341
gpu,cpu
34 paddle.incubate.segment_sum @co63oc #73341
gpu,cpu
35 paddle.incubate.softmax_mask_fuse_upper_triangle @co63oc #73353 #73354
gpu,cpu
36 paddle.index_add @co63oc #73517
gpu,cpu
37 paddle.index_put @co63oc #73513
gpu,cpu
38 paddle.index_sample @co63oc #73276
gpu,cpu
39 paddle.index_select @co63oc #73270
gpu,cpu
40 paddle.linalg.cholesky @co63oc #74185
gpu,cpu
41 paddle.linalg.eigh @co63oc #74185
gpu,cpu
42 paddle.linalg.eigvals @co63oc #73383 #73385
gpu,cpu
43 paddle.linalg.lu @zhengshengning #73853
gpu,cpu
44 paddle.linalg.lu_unpack @co63oc #74191
gpu,cpu
45 paddle.linalg.svdvals @co63oc #73385
gpu,cpu
46 paddle.masked_scatter @co63oc #73384
gpu,cpu
47 paddle.max @co63oc #73333
gpu,cpu
48 paddle.median @co63oc #73477
gpu,cpu
49 paddle.min @co63oc #73333
gpu,cpu
50 paddle.mode @co63oc #298
gpu,cpu
51 paddle.multiplex @co63oc #74212
gpu,cpu
52 paddle.multiply @co63oc #290
gpu
53 paddle.nn.functional.adaptive_log_softmax_with_loss @co63oc #74143
gpu,cpu
54 paddle.nn.functional.binary_cross_entropy @co63oc #73437
gpu,cpu
55 paddle.nn.functional.cross_entropy @co63oc #74131
gpu,cpu
56 paddle.nn.functional.dice_loss @co63oc #73855
gpu,cpu
57 paddle.nn.functional.embedding @co63oc #73898
gpu,cpu
58 paddle.nn.functional.gather_tree @co63oc #73387
gpu,cpu
59 paddle.nn.functional.gaussian_nll_loss @co63oc #273
gpu,cpu
60 paddle.nn.functional.instance_norm @co63oc #73854
gpu,cpu
61 paddle.nn.functional.log_loss @co63oc #73401
gpu,cpu
62 paddle.nn.functional.margin_cross_entropy @co63oc #354 #74010 #74029
gpu,cpu
63 paddle.nn.functional.nll_loss @zhengshengning #73853
@co63oc #352
gpu,cpu
64 paddle.nn.functional.one_hot @co63oc #73386
gpu
65 paddle.nn.functional.smooth_l1_loss @co63oc #73354
gpu
66 paddle.nn.functional.softmax_with_cross_entropy @co63oc #73880
gpu,cpu
67 paddle.nn.functional.upsample @co63oc #74098
gpu,cpu
68 paddle.pow @co63oc #73204
gpu
69 paddle.prod @co63oc #73525
gpu,cpu
70 paddle.put_along_axis @co63oc #74176
gpu,cpu
71 paddle.scale @co63oc #298
gpu,cpu
72 paddle.scatter @co63oc #73933
gpu,cpu
73 paddle.scatter_nd @co63oc #73933
gpu,cpu
74 paddle.scatter_nd_add @co63oc #73933
gpu,cpu
75 paddle.shard_index @co63oc #73594
gpu,cpu
76 paddle.slice_scatter @co63oc #73889
cpu
77 paddle.squeeze @co63oc #73582
gpu,cpu
78 paddle.sum @co63oc #73355
gpu,cpu
79 paddle.Tensor.add @co63oc #300
gpu
80 paddle.Tensor.mul @co63oc #301
gpu
81 paddle.Tensor.truediv @co63oc #301
gpu
82 paddle.Tensor.add @co63oc #300
gpu
83 paddle.Tensor.cumprod @co63oc #73386
gpu
84 paddle.Tensor.gather @co63oc #73483
gpu,cpu
85 paddle.Tensor.gather_nd @co63oc #73702
gpu,cpu
86 paddle.Tensor.index_select @co63oc #73270
gpu,cpu
87 paddle.Tensor.masked_fill @co63oc #73570
gpu
88 paddle.Tensor.max @co63oc #73333
gpu,cpu
89 paddle.Tensor.mean @zhengshengning #73848
gpu,cpu
90 paddle.Tensor.min @co63oc #73333
gpu,cpu
91 paddle.Tensor.multiply @co63oc #290
gpu
92 paddle.Tensor.pow @co63oc #73204
gpu
93 paddle.Tensor.prod @co63oc #73525
gpu,cpu
94 paddle.Tensor.put_along_axis @co63oc #74176
gpu,cpu
95 paddle.Tensor.real @co63oc #307
gpu,cpu
96 paddle.Tensor.reshape @zhengshengning #73844 #404
gpu,cpu
97 paddle.Tensor.set_ @co63oc #74200
gpu,cpu
98 paddle.Tensor.sum @co63oc #73355
gpu,cpu
99 paddle.Tensor.take_along_axis @zhengshengning #73832
gpu,cpu
100 paddle.topk @co63oc #73352
gpu,cpu
101 paddle.unfold @zhengshengning #73848
gpu
102 paddle.vander @co63oc #336
gpu,cpu
103 paddle.vision.ops.deform_conv2d @co63oc #74008 #74029
gpu,cpu
104 paddle.vision.ops.distribute_fpn_proposals @co63oc #74007 #74029
gpu,cpu
105 paddle.vision.ops.roi_align @co63oc #73361
gpu,cpu
106 paddle.vision.ops.roi_pool @zhengshengning #73740
gpu,cpu

看板信息

任务方向 任务数量 提交作品 / 任务认领 提交率 完成 完成率
0-size Tensor的支持任务-第2批 106 106 / 106 100.0% 106 100.0%

统计信息

排名不分先后 @co63oc (96) @zhengshengning (10)

Metadata

Metadata

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions