Skip to content

【艾尔登+开源创新大赛】「艾尔登之王 ⚔ 」之 「API 体系升级」 #55737

@Aurelius84

Description

@Aurelius84

一、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 参考链接

三、任务总览

自动代码生成介绍:#56849

3.1 RFC

image

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

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions