Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
073f7ced
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
073f7ced
编写于
1月 20, 2023
作者:
J
jameszhang
提交者:
GitHub
1月 20, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[KUNLUN] update xccl lib & use native Reduce in dygraph (#49941)
* update xccl lib & use native Reduce in dygraph * minor
上级
5670644c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
35 deletion
+11
-35
cmake/external/xpu.cmake
cmake/external/xpu.cmake
+1
-1
paddle/fluid/distributed/collective/process_group_bkcl.cc
paddle/fluid/distributed/collective/process_group_bkcl.cc
+10
-34
未找到文件。
cmake/external/xpu.cmake
浏览文件 @
073f7ced
...
...
@@ -16,7 +16,7 @@ else()
endif
()
set
(
XPU_XCCL_BASE_URL
"https://klx-sdk-release-public.su.bcebos.com/xccl/release/1.0.
6
"
)
"https://klx-sdk-release-public.su.bcebos.com/xccl/release/1.0.
7
"
)
if
(
WITH_AARCH64
)
set
(
XPU_XRE_DIR_NAME
"xre-kylin_aarch64"
)
...
...
paddle/fluid/distributed/collective/process_group_bkcl.cc
浏览文件 @
073f7ced
...
...
@@ -352,41 +352,17 @@ std::shared_ptr<ProcessGroup::Task> ProcessGroupBKCL::Reduce(
const
phi
::
DenseTensor
&
input
,
BKCLContext_t
comm
,
const
XPUStream
&
stream
)
{
phi
::
DenseTensor
output_t
;
paddle
::
framework
::
TensorCopy
(
*
output
,
platform
::
XPUPlace
(),
&
output_t
);
const
auto
&
place
=
input
.
place
();
auto
*
calc_ctx
=
static_cast
<
phi
::
XPUContext
*>
(
platform
::
DeviceContextPool
::
Instance
().
Get
(
place
));
switch
(
input
.
dtype
())
{
case
phi
::
DataType
::
FLOAT32
:
calc_ctx
->
template
Alloc
<
float
>(
&
output_t
);
break
;
case
phi
::
DataType
::
FLOAT16
:
calc_ctx
->
template
Alloc
<
float16
>(
&
output_t
);
break
;
case
phi
::
DataType
::
INT32
:
calc_ctx
->
template
Alloc
<
int
>(
&
output_t
);
break
;
default:
VLOG
(
0
)
<<
"Error: type "
<<
input
.
dtype
()
<<
" not supported for "
<<
GetBackendName
();
break
;
}
int
ret
=
bkcl_all_reduce
(
comm
,
input
.
data
(),
output_t
.
data
(),
input
.
numel
(),
platform
::
ToBKCLDataType
(
framework
::
TransToProtoVarType
(
input
.
type
())),
ToBKCLRedType
(
opts
.
reduce_op
),
stream
);
if
(
rank_
==
opts
.
root_rank
)
{
*
output
=
output_t
;
}
return
ret
;
return
bkcl_reduce
(
comm
,
input
.
data
(),
output
->
data
(),
input
.
numel
(),
platform
::
ToBKCLDataType
(
framework
::
TransToProtoVarType
(
input
.
type
())),
ToBKCLRedType
(
opts
.
reduce_op
),
opts
.
root_rank
,
stream
);
},
CommType
::
ALL
REDUCE
,
CommType
::
REDUCE
,
sync_op
,
use_calc_stream
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录