-
Notifications
You must be signed in to change notification settings - Fork 5.8k
Closed
Labels
Description
一、Background 🎃
详见:🎉 Paddle 之艾尔登(IR Dialect)快乐勇士挑战赛 ⚔
「艾尔登之王」是「艾尔登法环」三大剧情主线之一,成就奖杯🏆「抵达圆桌厅堂」
二、Motivation 🚀
2.1 赛题介绍
随着新IR底层核心逻辑已经成熟,需要进一步推广验证。当前新IR仅限于在 C++ 底层进行操作,为了能够尽快让新 IR 替代现有的 IR 体系,需要打通 Python 端到C++端的新IR链路。其中有一项重要工作是需要在C++端开发新IR的组网用API ,并且暴露到 Python 端,从而为大规模验证新 IR 体系奠定基础。
2.2 赛题要求
- 了解新 Paddle 中新 IR 的设计
- 参照已实现新 IR 组网API,实现自动化生成C++端组网API,并绑定到 Python 端
- Python 端高频 API 升级适配新 IR 组网API
- 单测框架适配新 IR 组网
- 所需 IR 核心组件接口绑定到 Python 端
2.3 参考链接
- 飞桨框架新IR体系:https://github.com/PaddlePaddle/Paddle/tree/develop/paddle/ir
- 新IR设计文档:https://github.com/PaddlePaddle/community/tree/master/pfcc/paddle-code-reading/IR_Dialect
三、任务总览
自动代码生成介绍:#56849
3.1 RFC
3.2 子任务
序号 | 模块 | 任务描述 | PR | 贡献者 |
---|---|---|---|---|
1.1 ✅ | C++ dialect api生成 | 根据yaml文件生成C++端pd_api.h/cc文件:以白名单形式生成部分API | #56241 #56291 | @0x45f |
1.2 ✅ | C++ dialect api生成 | 根据yaml文件生成C++端pd_api.h/cc文件:移除白名单支持绝大部分API的生成 | #56526 | @0x45f |
2.1 ✅ | python c api生成 | 根据yaml文件生成static_op_function.h/cc文件 | #56571 | @0x45f |
3.1 ✅ | pybind 逻辑生成 | 根据yaml文件生成ops_api.cc文件:生成静态图分支 | #56653 | @0x45f |
3.2 ✅ | pybind 逻辑生成 | 根据yaml文件生成ops_api.cc文件:下沉动静态图选择逻辑,统一python端调用逻辑 | #56653 | @0x45f |
4.1 ✅ | 单测验证推全 | python api正确性验证:合入样例PR,确保全流程能够正确跑通 | #56935 | @0x45f |
4.2 ✅ | API 推全 | 【开源任务】新 IR API 推全升级 | 48/48 | |
4.3 | 动转静验证 | 开源任务 issue | @yangguohao |
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done