Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
a4822ed8
P
Paddle
项目概览
Crayon鑫
/
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看板
提交
a4822ed8
编写于
6月 01, 2018
作者:
T
tensor-tang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add thread setting
上级
53875625
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
21 addition
and
5 deletion
+21
-5
paddle/fluid/inference/tests/book/test_inference_nlp.cc
paddle/fluid/inference/tests/book/test_inference_nlp.cc
+21
-5
未找到文件。
paddle/fluid/inference/tests/book/test_inference_nlp.cc
浏览文件 @
a4822ed8
...
...
@@ -19,6 +19,10 @@ limitations under the License. */
#include "gflags/gflags.h"
#include "gtest/gtest.h"
#include "paddle/fluid/inference/tests/test_helper.h"
#ifdef PADDLE_WITH_MKLML
#include <mkl_service.h>
#include <omp.h>
#endif
DEFINE_string
(
dirname
,
""
,
"Directory of the inference model."
);
DEFINE_int32
(
repeat
,
100
,
"Running the inference program repeat times"
);
...
...
@@ -149,6 +153,14 @@ TEST(inference, nlp) {
EnableMKLDNN
(
inference_program
);
}
#ifdef PADDLE_WITH_MKLML
// only use 1 core per thread
omp_set_dynamic
(
0
);
omp_set_num_threads
(
1
);
mkl_set_num_threads
(
1
);
#endif
double
start_ms
=
0
,
stop_ms
=
0
;
if
(
FLAGS_num_threads
>
1
)
{
std
::
vector
<
std
::
vector
<
const
paddle
::
framework
::
LoDTensor
*>>
jobs
;
bcast_datasets
(
datasets
,
&
jobs
,
FLAGS_num_threads
);
...
...
@@ -158,9 +170,11 @@ TEST(inference, nlp) {
std
::
ref
(
inference_program
),
std
::
ref
(
jobs
)));
}
start_ms
=
get_current_ms
();
for
(
int
i
=
0
;
i
<
FLAGS_num_threads
;
++
i
)
{
threads
[
i
]
->
join
();
}
stop_ms
=
get_current_ms
();
}
else
{
if
(
FLAGS_prepare_vars
)
{
...
...
@@ -185,16 +199,18 @@ TEST(inference, nlp) {
std
::
map
<
std
::
string
,
const
paddle
::
framework
::
LoDTensor
*>
feed_targets
;
// for data and run
auto
start_ms
=
get_current_ms
();
start_ms
=
get_current_ms
();
for
(
size_t
i
=
0
;
i
<
datasets
.
size
();
++
i
)
{
feed_targets
[
feed_target_names
[
0
]]
=
&
(
datasets
[
i
]);
executor
.
RunPreparedContext
(
ctx
.
get
(),
scope
,
&
feed_targets
,
&
fetch_targets
,
!
FLAGS_prepare_vars
);
}
auto
stop_ms
=
get_current_ms
();
LOG
(
INFO
)
<<
"Total infer time: "
<<
(
stop_ms
-
start_ms
)
/
1000.0
/
60
<<
" min, avg time per seq: "
<<
(
stop_ms
-
start_ms
)
/
datasets
.
size
()
<<
" ms"
;
stop_ms
=
get_current_ms
();
}
LOG
(
INFO
)
<<
"Total inference time with "
<<
FLAGS_num_threads
<<
" threads : "
<<
(
stop_ms
-
start_ms
)
/
1000.0
<<
" sec, avg time per seq: "
<<
(
stop_ms
-
start_ms
)
/
datasets
.
size
()
<<
" ms"
;
delete
scope
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录