Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

🐾 PaddleSOT 快乐喵喵开源任务 🚀 #133

Closed
SigureMo opened this issue Jun 7, 2023 · 8 comments
Closed

🐾 PaddleSOT 快乐喵喵开源任务 🚀 #133

SigureMo opened this issue Jun 7, 2023 · 8 comments
Assignees
Labels
HappyOpenSource 快乐开源活动issue与PR

Comments

@SigureMo
Copy link
Member

SigureMo commented Jun 7, 2023

一、Background 📚

喵!为了能够进一步提高动转静的成功率,并为用户提供更好的使用体验,我们启动了 PaddleSOT 项目(Paddle Symbolic Opcode Translator),关于该项目的详情可参见 PaddleSOT 孵化项目介绍

经过两个月的开发,我们的 PaddleSOT 项目已经初具雏形,主体机制已经完善,但是还有很多细节需要优化,我们在开发过程中记录了一些已知的问题和有趣的想法,欢迎大家来一起完善这个项目~

二、Motivation 🚀

参与本项目你可以了解到这些神奇的事情:

  • 深入了解 Python 底层数据结构以及虚拟机 VM 执行流程~
  • 深入了解编程语言层面的 「指令」和「数据栈」交互执行的内在原理~
  • 了解 Python 中 JIT 的实现方式,以及最前沿的动转静技术~
  • 了解 Paddle 动转静的实现原理,参与到最新的动转静技术的开发中~

三、Issue Tasks 🙌

我们在 issues 中准备了一些容易上手的任务( 🐾 meow 快乐喵喵开源活动专属认证 ),希望各位有兴趣的同学一起来玩:

序号 任务名 难度 issue 链接 指导人 认领人 提交 PR
1 ✅ 重构 Variable from_value register 机制,增加优先级 简单 #83 @SigureMo @zrr1999 #110
2 ✅ 重构 Variable,拆分成多个文件 简单 #84 @SigureMo @zrr1999 #110
3 ✅ Python 3.9 版本支持 简单 #105 @SigureMo @gouzil #109
4 ✅ 优化输入分析逻辑,使其能够在不同分支分别读写变量时分析得到正确结果 简单 #125 @SigureMo @Difers #158 (reverted), #173
5 ✅ 在 Variable 里添加变量本身的名字方便 debug 简单 #122 @SigureMo @zrr1999 #138
6 ✅ 增加对闭包的支持 中等 #123 @2742195759 @gouzil #139
7 ✅ 优化字节码模拟执行过程中的报错信息 简单 #128 @SigureMo @zrr1999 #141
8 ✅ PaddleLayerVariable 支持 Subscribe 简单 #129 @0x45f @0x45f #150
9 调整 paddle.jit.not_to_static 装饰范围 中等 #120 @Aurelius84 @zrr1999
10 Bert 模型子图数量和质量优化 困难 #117 @0x45f
11 优化 eval_frame 对 Paddle 函数的 skip 机制 中等 #93
12 ✅ 优化 tracker viewer 简单 #132 @SigureMo @GreatV #175
13 ✅ 为所有入栈出栈操作添加检查,确保栈内所有内容均是 Variable 简单 #142 @SigureMo @NotHaozi #155
14 LOAD_METHODCALL_METHOD 行为对齐 CPython 简单 #130 @SigureMo @gouzil #144
15 ✅ 对 TensorVariable 中的 property 属性进行处理 中等 #151 @2742195759 @zrr1999 #170
16 ✅ 提升 XXXVariable 的 __repr__ 简洁性 简单 #179 @Aurelius84 @GreatV #183
17 ✅ 利用 Dispatch 机制替换掉现有的魔法函数自动派发机制 中等 #194 @SigureMo @gouzil #198
18 ✅ 为 PaddleSOT repo 增加 xdoctest 流水线 简单 #195 @SigureMo @NotHaozi #199
19 ✅ 增加 Paddle 自动编译流水线 中等 #242 @SigureMo @gouzil #247
20 ✅ 优化 GitHub Actions Log 信息 简单 #243 @SigureMo @zrr1999 #246
21 ✅ 容器类型 Variable 方法补全 中等 #244 @SigureMo @gouzil #236, #259, #255, #257, #236
22 _C_ops 断言检查功能 简单 #248 @SigureMo @zrr1999
23 ✅ 全局变量 Side Effect 恢复功能 困难 #249 @SigureMo @gouzil #278
24 ✅ 为动转静单测流水线优化 GitHub Actions Log 信息 简单 #324 @SigureMo @zrr1999 #347
... 持续更新中...

列表内容会随着开发过程持续更新~如果你没找到感兴趣的,或者感觉这些任务太简单了,也欢迎直接提一个 issue 来描述你想要做的(●• ̀ω•́ )✧,如果合适的话我们也会加入到列表中~

如果你还不了解如何上手,可以参考我们的贡献指南,里面有详细的示例哦~

Note

有人认领但迟迟没有提 PR 的任务也是可以做的哦,不过要 @ 下原来的认领人避免冲突~

@SigureMo SigureMo pinned this issue Jun 7, 2023
@Aurelius84 Aurelius84 changed the title PaddleSOT 快乐喵喵开源任务(标题什么的之后再说!) 🚀🚀 PaddleSOT 快乐喵喵开源任务 Jun 8, 2023
@Aurelius84 Aurelius84 changed the title 🚀🚀 PaddleSOT 快乐喵喵开源任务 🚀 PaddleSOT 快乐喵喵开源任务 Jun 8, 2023
@GreatV
Copy link
Contributor

GreatV commented Jun 8, 2023

序号 任务名 难度 issue 链接 认领人 完成 PR
12 优化 tracker viewer 简单 #132  @GreatV

@Liyulingyue
Copy link

认领 4 优化输入分析逻辑,使其能够在不同分支分别读写变量时分析得到正确结果

@0x45f
Copy link
Collaborator

0x45f commented Jun 12, 2023

认领8 PaddleLayerVariable 支持 Subscribe

@NotHaozi
Copy link
Collaborator

序号 任务名 难度 issue 链接 认领人 完成 PR
13 为所有入栈出栈操作添加检查,确保栈内所有内容均是 Variable 简单 #142 @ccsuzzh

兄弟,替你做了,#155

@Difers
Copy link
Contributor

Difers commented Jun 14, 2023

序号 任务名 难度 issue 链接 认领人 完成 PR
4 优化输入分析逻辑 简单 #125 @Difers #158

@gouzil
Copy link
Member

gouzil commented Jun 23, 2023

认领17

@gouzil
Copy link
Member

gouzil commented Jul 9, 2023

认领23

@SigureMo SigureMo changed the title 🚀 PaddleSOT 快乐喵喵开源任务 🐾 PaddleSOT 快乐喵喵开源任务 Jul 11, 2023
@SigureMo SigureMo changed the title 🐾 PaddleSOT 快乐喵喵开源任务 🐾 PaddleSOT 快乐喵喵开源任务 🚀 Jul 11, 2023
@SigureMo
Copy link
Member Author

PaddleSOT 目前已于 PaddlePaddle/Paddle#57824 合入 Paddle,快乐喵喵快乐开源任务正式结项,感谢参与的小喵喵们!

按任务序号顺序,排名不分先后: @zrr1999 (6) @gouzil (7) @Difers (1) @0x45f (1) @GreatV (2) @NotHaozi (2)

欢迎继续参与快乐开源的其他任务

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
HappyOpenSource 快乐开源活动issue与PR
Projects
Development

No branches or pull requests

9 participants