Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle
提交
5df1296d
P
Paddle
项目概览
PaddlePaddle
/
Paddle
大约 1 年 前同步成功
通知
2298
Star
20931
Fork
5422
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1423
列表
看板
标记
里程碑
合并请求
543
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1,423
Issue
1,423
列表
看板
标记
里程碑
合并请求
543
合并请求
543
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
5df1296d
编写于
4月 09, 2023
作者:
C
Chitsing KUI
提交者:
GitHub
4月 09, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix fused_dropout_add bug (#52644)
上级
61ca8b39
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
24 addition
and
3 deletion
+24
-3
paddle/phi/api/yaml/fused_backward.yaml
paddle/phi/api/yaml/fused_backward.yaml
+3
-2
paddle/phi/infermeta/backward.cc
paddle/phi/infermeta/backward.cc
+13
-0
paddle/phi/infermeta/backward.h
paddle/phi/infermeta/backward.h
+5
-0
paddle/phi/kernels/fusion/gpu/fused_dropout_add_utils.h
paddle/phi/kernels/fusion/gpu/fused_dropout_add_utils.h
+1
-1
python/paddle/distributed/auto_parallel/utils.py
python/paddle/distributed/auto_parallel/utils.py
+2
-0
未找到文件。
paddle/phi/api/yaml/fused_backward.yaml
浏览文件 @
5df1296d
...
@@ -9,8 +9,9 @@
...
@@ -9,8 +9,9 @@
args
:
(Tensor seed_offset, Tensor out_grad, Scalar p, bool is_test, str mode, bool fix_seed)
args
:
(Tensor seed_offset, Tensor out_grad, Scalar p, bool is_test, str mode, bool fix_seed)
output
:
Tensor(x_grad), Tensor(y_grad)
output
:
Tensor(x_grad), Tensor(y_grad)
infer_meta
:
infer_meta
:
func
:
GeneralBinary
GradInferMeta
func
:
FusedDropoutAdd
GradInferMeta
param
:
[
out_grad
,
out_grad
]
param
:
[
seed_offset
,
out_grad
]
kernel
:
kernel
:
func
:
fused_dropout_add_grad
func
:
fused_dropout_add_grad
data_type
:
out_grad
support_dygraph_mode
:
true
support_dygraph_mode
:
true
paddle/phi/infermeta/backward.cc
浏览文件 @
5df1296d
...
@@ -215,6 +215,19 @@ void FlashAttnGradInferMeta(const MetaTensor& q,
...
@@ -215,6 +215,19 @@ void FlashAttnGradInferMeta(const MetaTensor& q,
}
}
}
}
void
FusedDropoutAddGradInferMeta
(
const
MetaTensor
&
seed_offset
,
const
MetaTensor
&
out_grad
,
MetaTensor
*
x_grad
,
MetaTensor
*
y_grad
)
{
if
(
x_grad
!=
nullptr
)
{
x_grad
->
share_meta
(
out_grad
);
}
if
(
y_grad
!=
nullptr
)
{
y_grad
->
share_meta
(
out_grad
);
}
}
void
CrossEntropyWithSoftmaxGradInferMeta
(
const
MetaTensor
&
label
,
void
CrossEntropyWithSoftmaxGradInferMeta
(
const
MetaTensor
&
label
,
const
MetaTensor
&
softmax
,
const
MetaTensor
&
softmax
,
const
MetaTensor
&
loss_grad
,
const
MetaTensor
&
loss_grad
,
...
...
paddle/phi/infermeta/backward.h
浏览文件 @
5df1296d
...
@@ -179,6 +179,11 @@ void FlashAttnGradInferMeta(const MetaTensor& q,
...
@@ -179,6 +179,11 @@ void FlashAttnGradInferMeta(const MetaTensor& q,
MetaTensor
*
dk
,
MetaTensor
*
dk
,
MetaTensor
*
dv
);
MetaTensor
*
dv
);
void
FusedDropoutAddGradInferMeta
(
const
MetaTensor
&
seed_offset
,
const
MetaTensor
&
out_grad
,
MetaTensor
*
x_grad
,
MetaTensor
*
y_grad
);
void
GatherNdGradInferMeta
(
const
MetaTensor
&
x
,
void
GatherNdGradInferMeta
(
const
MetaTensor
&
x
,
const
MetaTensor
&
index
,
const
MetaTensor
&
index
,
const
MetaTensor
&
out_grad
,
const
MetaTensor
&
out_grad
,
...
...
paddle/phi/kernels/fusion/gpu/fused_dropout_add_utils.h
浏览文件 @
5df1296d
...
@@ -20,7 +20,7 @@ namespace phi {
...
@@ -20,7 +20,7 @@ namespace phi {
namespace
fusion
{
namespace
fusion
{
template
<
typename
Context
>
template
<
typename
Context
>
static
inline
std
::
vector
<
size_t
>
GetRandomCudaProp
(
int
numel
,
static
inline
std
::
vector
<
size_t
>
GetRandomCudaProp
(
int
64_t
numel
,
const
Context
&
dev_ctx
)
{
const
Context
&
dev_ctx
)
{
constexpr
int
kVecSize
=
funcs
::
uniform_distribution
<
float
>::
kReturnsCount
;
constexpr
int
kVecSize
=
funcs
::
uniform_distribution
<
float
>::
kReturnsCount
;
auto
gpu_config
=
auto
gpu_config
=
...
...
python/paddle/distributed/auto_parallel/utils.py
浏览文件 @
5df1296d
...
@@ -1260,6 +1260,7 @@ def set_grad_var_shape(program, dist_context):
...
@@ -1260,6 +1260,7 @@ def set_grad_var_shape(program, dist_context):
"exp_grad"
,
"exp_grad"
,
"sigmoid_grad"
,
"sigmoid_grad"
,
"unsqueeze2_grad"
,
"unsqueeze2_grad"
,
"fused_dropout_add_grad"
,
]
]
forward_list
=
[
forward_list
=
[
"reshape2"
,
"reshape2"
,
...
@@ -1281,6 +1282,7 @@ def set_grad_var_shape(program, dist_context):
...
@@ -1281,6 +1282,7 @@ def set_grad_var_shape(program, dist_context):
"exp"
,
"exp"
,
"sigmoid"
,
"sigmoid"
,
"unsqueeze2"
,
"unsqueeze2"
,
"fused_dropout_add"
,
]
]
if
op
.
type
in
need_set_shape_list
:
if
op
.
type
in
need_set_shape_list
:
for
forward_op
in
block
.
ops
:
for
forward_op
in
block
.
ops
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录