-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【PaddlePaddle Hackathon 3】CINN算子开发任务合集 #44069
Comments
@Ligoml cinn的编译错误可以帮push一下嘛 PaddlePaddle/CINN#840 |
-- |
@gsq7474741 我们这边正在查看中,对于您快速解决,可否先注释掉 cinn/auto_schedule/cost_model/CMakeLists.txt 中的
|
请问任务 74(为神经网络编译器 CINN 增加 repeat 算子)要实现的功能是与 numpy.tile(整个 Tensor 进行重复) 类似还是与 numpy.repeat(对元素进行重复)类似呢?根据描述(把一个 Tensor 沿某些维度重复几遍)感觉与 numpy.tile 类似,而根据调研,TVM 与 XLA 中实现该功能的算子命名均为 tile,那这个任务还要继续使用 repeat 作为算子/API 名称吗? 以及任务 71(为神经网络编译器 CINN 增加 flip 算子)与 CINN 中已经实现的 reverse 有什么区别呢?经过调研,已有的 reverse 实现和我所设想的 flip 实现以及 API 设计都是一样的 |
嗨, @SigureMo
|
好的明白,我这里优先考虑了描述而没有优先考虑命名。
好的好的,感谢解答。 |
(此 ISSUE 为 PaddlePaddle Hackathon 第三期活动的任务 ISSUE,更多详见 【PaddlePaddle Hackathon 第三期】任务总览)
为神经网络编译器 CINN 增加一系列基础算子,提交流程请参考 CINN算子开发&提交流程(coming soon),开发请参考 贡献指南,任务列表如下:
No.67:为神经网络编译器 CINN 增加 arange 算子
算子功能:返回一个tensor,它的值是一个范围内的数字
技术标签:深度学习框架,编译器
任务难度:基础
No.68:为神经网络编译器 CINN 增加 argmin 和 argmax 算子
算子功能:返回最大/最小值的索引
技术标签:深度学习框架,编译器
任务难度:基础
No.69:为神经网络编译器 CINN 增加 cast 算子
算子功能:转化输入的数据类型
技术标签:深度学习框架,编译器
任务难度:基础
No.70:为神经网络编译器 CINN 增加 clip 算子
算子功能:将输入限制在范围内,给定范围min,max,在范围内的输入则原值返回,超过max则返回max,小于min则返回min
技术标签:深度学习框架,编译器
任务难度:基础
No.71:为神经网络编译器 CINN 增加 flip 算子
算子功能:将一个算子的某些维度数据反转过来,如[1, 2, 3] 变成 [3, 2, 1]
技术标签:深度学习框架,编译器
任务难度:基础
No.72:为神经网络编译器 CINN 增加 layout_transform 算子
算子功能:更改输入的layout
技术标签:深度学习框架,编译器
任务难度:基础
No.73:为神经网络编译器 CINN 增加 one_hot 算子
算子功能:根据输入的索引,返回一个Tensor,该Tensor将索引的位置标注为用户指定的一个值,非索引的位置标注为另一个值。最常见的是1/0标值
技术标签:深度学习框架,编译器
任务难度:基础
No.74:为神经网络编译器 CINN 增加 repeat 算子
算子功能:把一个Tensor沿某些维度重复几遍
技术标签:深度学习框架,编译器
任务难度:基础
No.75:为神经网络编译器 CINN 增加 sort 算子
算子功能:对输入根据某些维度,进行排序
技术标签:深度学习框架,编译器
任务难度:基础
No.76:为神经网络编译器 CINN 增加 split 算子
算子功能:将输入根据某些维度和索引划分,分开成几个不同Tensor输出
技术标签:深度学习框架,编译器
任务难度:基础
No.77:为神经网络编译器 CINN 增加 squeeze 算子
算子功能:删除只有1个元素的维度,减少输入Tensor的维度
技术标签:深度学习框架,编译器
任务难度:基础
No.78:为神经网络编译器 CINN 增加 gather、gather_nd、scatter、scatter_nd 算子
算子功能:对输入分别进行gather、scatter相关功能
技术标签:深度学习框架,编译器
任务难度:进阶
详细描述
使用神经网络编译器 CINN IR 编写算子,大致步骤为在 CINN 底层使用 CINN IR 实现相关计算的描述,如果有优化需求再实现相关 strategy,之后打通上层的 net_builder 和 load_paddle_model,并进行相关单测。
提交内容
a. PR 代码中,使用 CINN IR 编写的算子,相应的 strategy,根据具体算子在 CINN 情况提交至相关路径;
b. 上层 net_builder 调用提交到 cinn/frontend/net_builder.h 和 .cc 文件下;
c. 上层 load_paddle_model 调用提交到 cinn/frontend/paddle_model_to_program.h 和 .cc 文件下。
技术要求
答疑交流
The text was updated successfully, but these errors were encountered: