Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
28cb0067
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
28cb0067
编写于
7月 20, 2022
作者:
Z
zmxdream
提交者:
GitHub
7月 20, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[GPUPS]FleetWrapper initialize (#44441)
* fix FleetWrapper initialize
上级
0e2dd2f3
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
13 addition
and
5 deletion
+13
-5
paddle/fluid/framework/fleet/fleet_wrapper.cc
paddle/fluid/framework/fleet/fleet_wrapper.cc
+1
-0
paddle/fluid/framework/fleet/fleet_wrapper.h
paddle/fluid/framework/fleet/fleet_wrapper.h
+7
-2
paddle/fluid/pybind/fleet_wrapper_py.cc
paddle/fluid/pybind/fleet_wrapper_py.cc
+3
-2
python/paddle/fluid/incubate/fleet/parameter_server/distribute_transpiler/__init__.py
.../fleet/parameter_server/distribute_transpiler/__init__.py
+2
-1
未找到文件。
paddle/fluid/framework/fleet/fleet_wrapper.cc
浏览文件 @
28cb0067
...
@@ -37,6 +37,7 @@ namespace framework {
...
@@ -37,6 +37,7 @@ namespace framework {
const
uint32_t
MAX_FEASIGN_NUM
=
1024
*
100
*
100
;
const
uint32_t
MAX_FEASIGN_NUM
=
1024
*
100
*
100
;
std
::
shared_ptr
<
FleetWrapper
>
FleetWrapper
::
s_instance_
=
NULL
;
std
::
shared_ptr
<
FleetWrapper
>
FleetWrapper
::
s_instance_
=
NULL
;
bool
FleetWrapper
::
is_initialized_
=
false
;
bool
FleetWrapper
::
is_initialized_
=
false
;
std
::
mutex
FleetWrapper
::
ins_mutex
;
#ifdef PADDLE_WITH_PSLIB
#ifdef PADDLE_WITH_PSLIB
std
::
shared_ptr
<
paddle
::
distributed
::
PSlib
>
FleetWrapper
::
pslib_ptr_
=
NULL
;
std
::
shared_ptr
<
paddle
::
distributed
::
PSlib
>
FleetWrapper
::
pslib_ptr_
=
NULL
;
...
...
paddle/fluid/framework/fleet/fleet_wrapper.h
浏览文件 @
28cb0067
...
@@ -24,6 +24,7 @@ limitations under the License. */
...
@@ -24,6 +24,7 @@ limitations under the License. */
#include <atomic>
#include <atomic>
#include <ctime>
#include <ctime>
#include <map>
#include <map>
#include <mutex>
#include <random>
#include <random>
#include <string>
#include <string>
#include <unordered_map>
#include <unordered_map>
...
@@ -381,9 +382,12 @@ class FleetWrapper {
...
@@ -381,9 +382,12 @@ class FleetWrapper {
void
Revert
();
void
Revert
();
// FleetWrapper singleton
// FleetWrapper singleton
static
std
::
shared_ptr
<
FleetWrapper
>
GetInstance
()
{
static
std
::
shared_ptr
<
FleetWrapper
>
GetInstance
()
{
{
std
::
lock_guard
<
std
::
mutex
>
lk
(
ins_mutex
);
if
(
NULL
==
s_instance_
)
{
if
(
NULL
==
s_instance_
)
{
s_instance_
.
reset
(
new
paddle
::
framework
::
FleetWrapper
());
s_instance_
.
reset
(
new
paddle
::
framework
::
FleetWrapper
());
}
}
}
return
s_instance_
;
return
s_instance_
;
}
}
// this performs better than rand_r, especially large data
// this performs better than rand_r, especially large data
...
@@ -397,6 +401,7 @@ class FleetWrapper {
...
@@ -397,6 +401,7 @@ class FleetWrapper {
private:
private:
static
std
::
shared_ptr
<
FleetWrapper
>
s_instance_
;
static
std
::
shared_ptr
<
FleetWrapper
>
s_instance_
;
static
std
::
mutex
ins_mutex
;
#ifdef PADDLE_WITH_PSLIB
#ifdef PADDLE_WITH_PSLIB
std
::
map
<
uint64_t
,
std
::
vector
<
paddle
::
ps
::
Region
>>
_regions
;
std
::
map
<
uint64_t
,
std
::
vector
<
paddle
::
ps
::
Region
>>
_regions
;
#endif
#endif
...
...
paddle/fluid/pybind/fleet_wrapper_py.cc
浏览文件 @
28cb0067
...
@@ -41,8 +41,9 @@ namespace py = pybind11;
...
@@ -41,8 +41,9 @@ namespace py = pybind11;
namespace
paddle
{
namespace
paddle
{
namespace
pybind
{
namespace
pybind
{
void
BindFleetWrapper
(
py
::
module
*
m
)
{
void
BindFleetWrapper
(
py
::
module
*
m
)
{
py
::
class_
<
framework
::
FleetWrapper
>
(
*
m
,
"Fleet"
)
py
::
class_
<
framework
::
FleetWrapper
,
std
::
shared_ptr
<
framework
::
FleetWrapper
>>
(
.
def
(
py
::
init
())
*
m
,
"Fleet"
)
.
def
(
py
::
init
([]()
{
return
framework
::
FleetWrapper
::
GetInstance
();
}))
.
def
(
"push_dense"
,
&
framework
::
FleetWrapper
::
PushDenseVarsSync
)
.
def
(
"push_dense"
,
&
framework
::
FleetWrapper
::
PushDenseVarsSync
)
.
def
(
"pull_dense"
,
&
framework
::
FleetWrapper
::
PullDenseVarsSync
)
.
def
(
"pull_dense"
,
&
framework
::
FleetWrapper
::
PullDenseVarsSync
)
.
def
(
"init_server"
,
&
framework
::
FleetWrapper
::
InitServer
)
.
def
(
"init_server"
,
&
framework
::
FleetWrapper
::
InitServer
)
...
...
python/paddle/fluid/incubate/fleet/parameter_server/distribute_transpiler/__init__.py
浏览文件 @
28cb0067
...
@@ -88,6 +88,7 @@ class FleetTranspiler(Fleet):
...
@@ -88,6 +88,7 @@ class FleetTranspiler(Fleet):
if
role_maker
is
None
:
if
role_maker
is
None
:
role_maker
=
MPISymetricRoleMaker
()
role_maker
=
MPISymetricRoleMaker
()
super
(
FleetTranspiler
,
self
).
init
(
role_maker
)
super
(
FleetTranspiler
,
self
).
init
(
role_maker
)
if
self
.
_fleet_ptr
is
None
:
self
.
_fleet_ptr
=
core
.
Fleet
()
self
.
_fleet_ptr
=
core
.
Fleet
()
def
_init_transpiler_worker
(
self
):
def
_init_transpiler_worker
(
self
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录