Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
858b5c7f
Mace
项目概览
Xiaomi
/
Mace
通知
106
Star
40
Fork
27
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
858b5c7f
编写于
2月 23, 2018
作者:
L
Liangliang He
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fix-eltwise-benchmark' into 'master'
Fix eltwise_benchmark.cc compiling error See merge request !240
上级
0937fe19
8b70a5b2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
14 deletion
+19
-14
mace/ops/eltwise_benchmark.cc
mace/ops/eltwise_benchmark.cc
+19
-14
未找到文件。
mace/ops/eltwise_benchmark.cc
浏览文件 @
858b5c7f
...
@@ -2,15 +2,16 @@
...
@@ -2,15 +2,16 @@
// Copyright (c) 2017 XiaoMi All rights reserved.
// Copyright (c) 2017 XiaoMi All rights reserved.
//
//
#include "mace/kernels/eltwise.h"
#include <string>
#include <string>
#include "mace/core/operator.h"
#include "mace/core/operator.h"
#include "mace/core/testing/test_benchmark.h"
#include "mace/core/testing/test_benchmark.h"
#include "mace/ops/ops_test_util.h"
#include "mace/ops/ops_test_util.h"
#include "mace/kernels/eltwise.h"
namespace
mace
{
namespace
mace
{
template
<
DeviceType
D
,
typename
T
>
template
<
DeviceType
D
,
typename
T
>
static
void
EltwiseBenchmark
(
int
iters
,
kernels
::
EltwiseType
type
,
int
n
,
int
h
,
int
w
,
int
c
)
{
static
void
EltwiseBenchmark
(
int
iters
,
kernels
::
EltwiseType
type
,
int
n
,
int
h
,
int
w
,
int
c
)
{
mace
::
testing
::
StopTiming
();
mace
::
testing
::
StopTiming
();
OpsTestNet
net
;
OpsTestNet
net
;
...
@@ -19,8 +20,10 @@ static void EltwiseBenchmark(int iters, kernels::EltwiseType type, int n, int h,
...
@@ -19,8 +20,10 @@ static void EltwiseBenchmark(int iters, kernels::EltwiseType type, int n, int h,
net
.
AddRandomInput
<
D
,
T
>
(
"Input1"
,
{
n
,
h
,
w
,
c
});
net
.
AddRandomInput
<
D
,
T
>
(
"Input1"
,
{
n
,
h
,
w
,
c
});
if
(
D
==
DeviceType
::
OPENCL
)
{
if
(
D
==
DeviceType
::
OPENCL
)
{
BufferToImage
<
D
,
half
>
(
net
,
"Input0"
,
"InputImg0"
,
kernels
::
BufferType
::
IN_OUT_CHANNEL
);
BufferToImage
<
D
,
half
>
(
net
,
"Input0"
,
"InputImg0"
,
BufferToImage
<
D
,
half
>
(
net
,
"Input1"
,
"InputImg1"
,
kernels
::
BufferType
::
IN_OUT_CHANNEL
);
kernels
::
BufferType
::
IN_OUT_CHANNEL
);
BufferToImage
<
D
,
half
>
(
net
,
"Input1"
,
"InputImg1"
,
kernels
::
BufferType
::
IN_OUT_CHANNEL
);
OpDefBuilder
(
"Eltwise"
,
"EltwiseTest"
)
OpDefBuilder
(
"Eltwise"
,
"EltwiseTest"
)
.
Input
(
"InputImg0"
)
.
Input
(
"InputImg0"
)
.
Input
(
"InputImg1"
)
.
Input
(
"InputImg1"
)
...
@@ -53,18 +56,20 @@ static void EltwiseBenchmark(int iters, kernels::EltwiseType type, int n, int h,
...
@@ -53,18 +56,20 @@ static void EltwiseBenchmark(int iters, kernels::EltwiseType type, int n, int h,
}
}
}
}
#define BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, TYPE, DEVICE) \
#define BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, TYPE, DEVICE) \
static void BM_ELTWISE_##ELT_TYPE##_##N##_##H##_##W##_##C##_##TYPE##_##DEVICE( \
static void \
int iters) { \
BM_ELTWISE_##ELT_TYPE##_##N##_##H##_##W##_##C##_##TYPE##_##DEVICE( \
const int64_t tot = static_cast<int64_t>(iters) * N * H * W * C; \
int iters) { \
mace::testing::ItemsProcessed(tot); \
const int64_t tot = static_cast<int64_t>(iters) * N * H * W * C; \
mace::testing::BytesProcessed(tot *(sizeof(TYPE))); \
mace::testing::ItemsProcessed(tot); \
EltwiseBenchmark<DEVICE, TYPE>(iters, static_cast<kernels::EltwiseType>(ELT_TYPE), N, H, W, C); \
mace::testing::BytesProcessed(tot *(sizeof(TYPE))); \
} \
EltwiseBenchmark<DEVICE, TYPE>( \
iters, static_cast<kernels::EltwiseType>(ELT_TYPE), N, H, W, C); \
} \
BENCHMARK(BM_ELTWISE_##ELT_TYPE##_##N##_##H##_##W##_##C##_##TYPE##_##DEVICE)
BENCHMARK(BM_ELTWISE_##ELT_TYPE##_##N##_##H##_##W##_##C##_##TYPE##_##DEVICE)
#define BM_ELTWISE(ELT_TYPE, N, H, W, C
, )
\
#define BM_ELTWISE(ELT_TYPE, N, H, W, C
)
\
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, float, CPU); \
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, float, CPU);
\
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, float, OPENCL); \
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, float, OPENCL); \
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, half, OPENCL);
BM_ELTWISE_MACRO(ELT_TYPE, N, H, W, C, half, OPENCL);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录