-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
【NewIR】add share_data_op #57212
【NewIR】add share_data_op #57212
Conversation
你的PR提交成功,感谢你对开源项目的贡献! |
@yangguohao 除了approve以外的CI如果判断不是自己的问题,可以rerun下 |
有冲突 重新解决一下 |
- op : share_data | ||
args : (Tensor x) | ||
output : Tensor(out) | ||
kernel: | ||
func: share_data | ||
param: [x] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
share_data 和 share_buffer 的区别是什么?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
目前看有两个区别吧:
- share_data支持DenseTensor和SelectedRows,share_buffer只支持前者
- 内部实现有一定区别,这个区别是
DenseTensor::ShareDataWith
和DenseTensor::ShareBufferWith
的区别,从注释上看,这两者的区别是
// NOTE: For historical reasons, this interface has a special behavior,
// sharing other tensor members except lod
DenseTensor& DenseTensor::ShareDataWith(const DenseTensor& src) {
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里是不可以考虑下在新IR上能不能顺便把这个历史问题解了?上面这两个算子的差异确实不容易区分,后来的开发者如果不了解背景看到这样逻辑很容易一头雾水,搞不好又会成为历史包袱
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
经讨论决定,保留share_data,删除share_buffer。从新IR下删除share_buffer的工作辛苦 @yangguohao 看下,后面单独提个PR完成下。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
经讨论决定,保留share_data,删除share_buffer。从新IR下删除share_buffer的工作辛苦 @yangguohao 看下,后面单独提个PR完成下。
好的 之后我提个 PR 处理
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
关于share_buffer的删除,只要去掉 paddle/fluid/pir/dialect/operator/ir/ops.yaml 中的定义即可
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* add share_data_op * fix share_data op
PR types
Others
PR changes
OPs
Description
add share_data op for newIR