Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
966bf9ae
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看板
提交
966bf9ae
编写于
6月 09, 2017
作者:
Q
qiaolongfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix the problem in cclient when malloc paddle_parameter
上级
28476f5f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
8 deletion
+16
-8
go/pserver/cclient/cclient.go
go/pserver/cclient/cclient.go
+5
-2
go/pserver/cclient/test/main.c
go/pserver/cclient/test/main.c
+5
-4
go/pserver/service.go
go/pserver/service.go
+4
-0
paddle/trainer/NewRemoteParameterUpdater.h
paddle/trainer/NewRemoteParameterUpdater.h
+2
-2
未找到文件。
go/pserver/cclient/cclient.go
浏览文件 @
966bf9ae
...
...
@@ -42,6 +42,7 @@ import (
"strings"
"sync"
"unsafe"
"fmt"
"github.com/PaddlePaddle/Paddle/go/pserver"
)
...
...
@@ -204,12 +205,14 @@ func paddle_get_params(client C.client, names **C.char, dst **C.paddle_parameter
}
p
:=
ps
[
i
]
param
:=
*
(
**
C
.
paddle_parameter
)(
unsafe
.
Pointer
((
uintptr
(
unsafe
.
Pointer
(
dst
))
+
uintptr
(
i
)
*
unsafe
.
Sizeof
(
*
dst
))))
paramPtr
:=
(
**
C
.
paddle_parameter
)(
unsafe
.
Pointer
((
uintptr
(
unsafe
.
Pointer
(
dst
))
+
uintptr
(
i
)
*
unsafe
.
Sizeof
(
*
dst
))))
param
:=
*
paramPtr
nameReady
:=
false
contentAllocated
:=
false
if
unsafe
.
Pointer
(
param
)
==
nullPtr
{
param
=
(
*
C
.
paddle_parameter
)(
C
.
calloc
(
1
,
C
.
size_t
(
unsafe
.
Sizeof
(
*
param
))))
*
paramPtr
=
(
*
C
.
paddle_parameter
)(
C
.
calloc
(
1
,
C
.
size_t
(
unsafe
.
Sizeof
(
*
param
))))
param
=
*
paramPtr
}
else
{
if
unsafe
.
Pointer
(
param
.
name
)
!=
nullPtr
{
if
n
:=
C
.
GoString
(
param
.
name
);
n
!=
p
.
Name
{
...
...
go/pserver/cclient/test/main.c
浏览文件 @
966bf9ae
...
...
@@ -21,7 +21,7 @@ void print_parameter(paddle_gradient* param) {
for
(
int
i
=
0
;
i
<
param
->
content_len
;
++
i
)
{
printf
(
"0x%x "
,
param
->
content
[
i
]);
}
printf
(
"
\n
"
);
printf
(
"
\n
\n
"
);
}
}
...
...
@@ -33,17 +33,18 @@ retry:
paddle_parameter
param
;
char
name_a
[]
=
"param_a"
;
char
name_b
[]
=
"param_b"
;
unsigned
char
content
[]
=
{
0x00
,
0x00
,
0x00
};
unsigned
char
content
1
[]
=
{
0x01
,
0x02
,
0x03
};
param
.
element_type
=
PADDLE_ELEMENT_TYPE_FLOAT32
;
param
.
name
=
name_a
;
param
.
content
=
content
;
param
.
content
=
content
1
;
param
.
content_len
=
3
;
if
(
paddle_init_param
(
c
,
param
,
NULL
,
0
)
!=
0
)
{
goto
retry
;
}
unsigned
char
content2
[]
=
{
0x04
,
0x05
,
0x06
};
param
.
element_type
=
PADDLE_ELEMENT_TYPE_INT32
;
param
.
name
=
name_b
;
param
.
content
=
content
;
param
.
content
=
content
2
;
param
.
content_len
=
3
;
if
(
paddle_init_param
(
c
,
param
,
NULL
,
0
)
!=
0
)
{
goto
retry
;
...
...
go/pserver/service.go
浏览文件 @
966bf9ae
...
...
@@ -29,6 +29,10 @@ type Parameter struct {
Content
[]
byte
}
func
(
p
*
Parameter
)
toString
()
{
fmt
.
Println
(
p
.
Name
,
p
.
ElementType
,
p
.
Content
)
}
// ParameterWithConfig contains the parameter and the configuration.
type
ParameterWithConfig
struct
{
Param
Parameter
...
...
paddle/trainer/NewRemoteParameterUpdater.h
浏览文件 @
966bf9ae
...
...
@@ -33,8 +33,8 @@ public:
const
std
::
string
pserverSpec
);
~
NewRemoteParameterUpdater
()
{
LOG
(
INFO
)
<<
"~NewRemoteParameterUpdater in"
;
releaseNewParameter
(
newParameters_
);
releaseNewParameter
(
newGradients_
);
//
releaseNewParameter(newParameters_);
//
releaseNewParameter(newGradients_);
if
(
parameterClient_
>=
0
)
paddle_pserver_client_release
(
parameterClient_
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录