Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
95f20b94
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看板
提交
95f20b94
编写于
1月 03, 2017
作者:
Q
qiaolongfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add comment and refine code
上级
f9a65b08
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
56 addition
and
25 deletion
+56
-25
demo/quick_start/cluster/pserver.sh
demo/quick_start/cluster/pserver.sh
+1
-1
paddle/pserver/PServerUtil.cpp
paddle/pserver/PServerUtil.cpp
+18
-19
paddle/pserver/PServerUtil.h
paddle/pserver/PServerUtil.h
+34
-3
paddle/pserver/ParameterServer2Main.cpp
paddle/pserver/ParameterServer2Main.cpp
+2
-1
paddle/trainer/TrainerMain.cpp
paddle/trainer/TrainerMain.cpp
+1
-1
未找到文件。
demo/quick_start/cluster/pserver.sh
浏览文件 @
95f20b94
...
...
@@ -19,7 +19,7 @@ source "$bin_dir/env.sh"
paddle pserver
\
--nics
=
`
get_nics
`
\
--port
=
7164
\
--ports_num
=
2
\
--ports_num
=
1
\
--ports_num_for_sparse
=
1
\
--num_gradient_servers
=
1
\
--comment
=
"paddle_pserver"
\
...
...
paddle/pserver/PServerUtil.cpp
浏览文件 @
95f20b94
...
...
@@ -16,30 +16,11 @@ limitations under the License. */
namespace
paddle
{
ParameterServerConfig
*
PServerUtil
::
initConfig
()
{
ParameterServerConfig
*
config
=
new
ParameterServerConfig
();
config
->
set_nics
(
FLAGS_nics
);
config
->
set_port
(
FLAGS_port
);
config
->
set_ports_num
(
FLAGS_ports_num
);
config
->
set_rdma_tcp
(
FLAGS_rdma_tcp
);
return
config
;
}
PServerUtil
*
PServerUtil
::
create
()
{
auto
&
pServerConfig
=
*
paddle
::
PServerUtil
::
initConfig
();
return
PServerUtil
::
create
(
pServerConfig
);
}
PServerUtil
*
PServerUtil
::
create
(
const
ParameterServerConfig
&
config
)
{
return
new
PServerUtil
(
config
);
}
PServerUtil
::
PServerUtil
(
const
ParameterServerConfig
&
config
)
{
// round robin to load balance RDMA server ENGINE
std
::
vector
<
std
::
string
>
devices
;
int
rdmaCpu
=
0
;
int
onlineCpus
=
rdma
::
numCpus
();
;
int
numPorts
=
config
.
ports_num
()
+
config
.
ports_num_for_sparse
();
if
(
FLAGS_nics
.
empty
())
{
...
...
@@ -78,6 +59,24 @@ PServerUtil::PServerUtil(const ParameterServerConfig& config) {
PServerUtil
::~
PServerUtil
()
{
this
->
join
();
}
ParameterServerConfig
*
PServerUtil
::
initConfig
()
{
ParameterServerConfig
*
config
=
new
ParameterServerConfig
();
config
->
set_nics
(
FLAGS_nics
);
config
->
set_port
(
FLAGS_port
);
config
->
set_ports_num
(
FLAGS_ports_num
);
config
->
set_rdma_tcp
(
FLAGS_rdma_tcp
);
return
config
;
}
PServerUtil
*
PServerUtil
::
createWithGflags
()
{
auto
&
pServerConfig
=
*
paddle
::
PServerUtil
::
initConfig
();
return
create
(
pServerConfig
);
}
PServerUtil
*
PServerUtil
::
create
(
const
ParameterServerConfig
&
config
)
{
return
new
PServerUtil
(
config
);
}
void
PServerUtil
::
start
()
{
LOG
(
INFO
)
<<
"pserver sizes : "
<<
pservers_
.
size
();
int
i
=
0
;
...
...
paddle/pserver/PServerUtil.h
浏览文件 @
95f20b94
...
...
@@ -24,16 +24,47 @@ namespace paddle {
class
PServerUtil
{
public:
DISABLE_COPY
(
PServerUtil
);
static
PServerUtil
*
create
();
static
PServerUtil
*
create
(
const
ParameterServerConfig
&
config
);
/**
* @brief Ctor, Create a PServerUtil from ParameterServerConfig.
*/
explicit
PServerUtil
(
const
ParameterServerConfig
&
config
);
/**
* @brief Dtor.
*/
~
PServerUtil
();
static
ParameterServerConfig
*
initConfig
();
/**
* @brief create PServerUtil from gflags, this is used for
* compatibility with the old usage of configuration by gflags.
*/
static
PServerUtil
*
createWithGflags
();
/**
* @brief create PServerUtil with ParameterServerConfig, remove gflags
* from ParameterServer. Init all pservers thread according to the config.
*/
static
PServerUtil
*
create
(
const
ParameterServerConfig
&
config
);
/**
* @brief start all pserver thread in this PServerUtil.
*/
void
start
();
/**
* @brief join and wait for all pserver thread in this PServerUtil.
*/
void
join
();
private:
std
::
vector
<
std
::
shared_ptr
<
ParameterServer2
>>
pservers_
;
/**
* @brief create ParameterServerConfig from gflags, this is used for
* compatibility with the old usage of configuration by gflags.
*/
static
ParameterServerConfig
*
initConfig
();
};
}
// namespace paddle
paddle/pserver/ParameterServer2Main.cpp
浏览文件 @
95f20b94
...
...
@@ -21,7 +21,8 @@ using namespace paddle; // NOLINT
int
main
(
int
argc
,
char
**
argv
)
{
initMain
(
argc
,
argv
);
std
::
unique_ptr
<
PServerUtil
>
pServerPtr
(
paddle
::
PServerUtil
::
create
());
std
::
unique_ptr
<
PServerUtil
>
pServerPtr
(
paddle
::
PServerUtil
::
createWithGflags
());
pServerPtr
->
start
();
pServerPtr
->
join
();
...
...
paddle/trainer/TrainerMain.cpp
浏览文件 @
95f20b94
...
...
@@ -38,7 +38,7 @@ int main(int argc, char** argv) {
initPython
(
argc
,
argv
);
if
(
FLAGS_start_pserver
)
{
PServerUtil
*
pServerUtil
=
paddle
::
PServerUtil
::
create
();
PServerUtil
*
pServerUtil
=
paddle
::
PServerUtil
::
create
WithGflags
();
pServerUtil
->
start
();
}
Trainer
trainer
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录