Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
5b87e8a8
MegEngine
项目概览
MegEngine 天元
/
MegEngine
1 年多 前同步成功
通知
403
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5b87e8a8
编写于
6月 18, 2020
作者:
M
Megvii Engine Team
提交者:
Xu Xinran
6月 22, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(load_and_run): fix load_and_run with --input which ignore iters
GitOrigin-RevId: 870d90900d31c1d795b1adedb63077a4a5c8a974
上级
80af2f93
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
39 addition
and
39 deletion
+39
-39
sdk/load-and-run/src/mgblar.cpp
sdk/load-and-run/src/mgblar.cpp
+39
-39
未找到文件。
sdk/load-and-run/src/mgblar.cpp
浏览文件 @
5b87e8a8
...
...
@@ -709,6 +709,41 @@ void run_test_st(Args &env) {
}
};
auto
run_iters
=
[
&
](
uint32_t
case_idx
)
->
float
{
double
time_sqrsum
=
0
,
time_sum
=
0
,
min_time
=
std
::
numeric_limits
<
double
>::
max
(),
max_time
=
0
;
for
(
int
run
=
0
;
run
<
env
.
nr_run
;
++
run
)
{
mgb_log_debug
(
"load_and_run: before running iter %d"
,
run
);
timer
.
reset
();
func
->
execute
();
mgb_log_debug
(
"load_and_run: before waiting iter %d"
,
run
);
auto
exec_time
=
timer
.
get_msecs
();
func
->
wait
();
output_dumper
.
write_to_file
();
auto
cur
=
timer
.
get_msecs
();
printf
(
"iter %d/%d: %.3fms (exec=%.3f,device=%.3f)
\n
"
,
run
,
env
.
nr_run
,
cur
,
exec_time
,
func
->
get_prev_exec_time
()
*
1e3
);
time_sum
+=
cur
;
time_sqrsum
+=
cur
*
cur
;
fflush
(
stdout
);
if
(
cur
<
min_time
)
{
min_time
=
cur
;
}
if
(
cur
>
max_time
)
{
max_time
=
cur
;
}
}
printf
(
"=== finished test #%u: time=%.3fms avg_time=%.3fms "
"sd=%.3fms minmax=%.3f,%.3f
\n\n
"
,
case_idx
,
time_sum
,
time_sum
/
env
.
nr_run
,
std
::
sqrt
((
time_sqrsum
*
env
.
nr_run
-
time_sum
*
time_sum
)
/
(
env
.
nr_run
*
(
env
.
nr_run
-
1
))),
min_time
,
max_time
);
return
time_sum
;
};
if
(
nr_test
)
{
// run testcase, generated by dump_with_testcase.py
...
...
@@ -742,37 +777,7 @@ void run_test_st(Args &env) {
if
(
!
env
.
nr_run
)
{
continue
;
}
double
time_sqrsum
=
0
,
time_sum
=
0
,
min_time
=
std
::
numeric_limits
<
double
>::
max
(),
max_time
=
0
;
for
(
int
run
=
0
;
run
<
env
.
nr_run
;
++
run
)
{
mgb_log_debug
(
"load_and_run: before running iter %d"
,
run
);
timer
.
reset
();
func
->
execute
();
mgb_log_debug
(
"load_and_run: before waiting iter %d"
,
run
);
auto
exec_time
=
timer
.
get_msecs
();
func
->
wait
();
output_dumper
.
write_to_file
();
auto
cur
=
timer
.
get_msecs
();
printf
(
"iter %d/%d: %.3fms (exec=%.3f,device=%.3f)
\n
"
,
run
,
env
.
nr_run
,
cur
,
exec_time
,
func
->
get_prev_exec_time
()
*
1e3
);
time_sum
+=
cur
;
time_sqrsum
+=
cur
*
cur
;
fflush
(
stdout
);
if
(
cur
<
min_time
)
{
min_time
=
cur
;
}
if
(
cur
>
max_time
)
{
max_time
=
cur
;
}
}
tot_time
+=
time_sum
;
printf
(
"=== finished test #%u: time=%.3fms avg_time=%.3fms "
"sd=%.3fms minmax=%.3f,%.3f
\n\n
"
,
i
,
time_sum
,
time_sum
/
env
.
nr_run
,
std
::
sqrt
((
time_sqrsum
*
env
.
nr_run
-
time_sum
*
time_sum
)
/
(
env
.
nr_run
*
(
env
.
nr_run
-
1
))),
min_time
,
max_time
);
tot_time
+=
run_iters
(
i
);
}
printf
(
"=== total time: %.3fms
\n
"
,
tot_time
);
...
...
@@ -793,15 +798,10 @@ void run_test_st(Args &env) {
in
->
copy_from
(
i
.
second
);
}
warmup
();
timer
.
reset
();
func
->
execute
();
auto
exec_time
=
timer
.
get_msecs
();
func
->
wait
();
output_dumper
.
write_to_file
();
auto
cur
=
timer
.
get_msecs
();
printf
(
"%.3fms %.3fms (device=%.3f)
\n
"
,
cur
,
exec_time
,
func
->
get_prev_exec_time
()
*
1e3
);
printf
(
"=== going to run input for %d times
\n
"
,
env
.
nr_run
);
run_iters
(
0
);
}
else
{
// run speed test for a raw mgb graph
mgb_assert
(
env
.
load_ret
.
tensor_map
.
empty
(),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录