Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
17371e79
MegEngine
项目概览
MegEngine 天元
/
MegEngine
1 年多 前同步成功
通知
404
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看板
提交
17371e79
编写于
9月 04, 2021
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(dnn/reduce): fix reduce_mean o16c32 is incorrect for large tensor
GitOrigin-RevId: ebf03d814a893efca9dd9e09bb58001c22093fd4
上级
884a07ff
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
2 deletion
+31
-2
dnn/src/common/reduce_helper.h
dnn/src/common/reduce_helper.h
+2
-2
dnn/test/cuda/reduce.cpp
dnn/test/cuda/reduce.cpp
+10
-0
dnn/test/fallback/reduce.cpp
dnn/test/fallback/reduce.cpp
+9
-0
dnn/test/rocm/reduce.cpp
dnn/test/rocm/reduce.cpp
+10
-0
未找到文件。
dnn/src/common/reduce_helper.h
浏览文件 @
17371e79
...
@@ -48,10 +48,10 @@ struct MeanOp {
...
@@ -48,10 +48,10 @@ struct MeanOp {
src_ctype
*
src
;
src_ctype
*
src
;
dst_ctype
*
dst
;
dst_ctype
*
dst
;
const
size_t
B
;
const
size_t
B
;
MEGDNN_HOST
MEGDNN_DEVICE
wtype
read
(
uint32_t
idx
)
{
return
src
[
idx
];
}
MEGDNN_HOST
MEGDNN_DEVICE
wtype
read
(
uint32_t
idx
)
{
return
src
[
idx
];
}
MEGDNN_HOST
MEGDNN_DEVICE
void
write
(
uint32_t
idx
,
wtype
val
)
{
MEGDNN_HOST
MEGDNN_DEVICE
void
write
(
uint32_t
idx
,
wtype
val
)
{
dst
[
idx
]
=
val
/
static_cast
<
dst_c
type
>
(
B
);
dst
[
idx
]
=
val
/
static_cast
<
w
type
>
(
B
);
}
}
static
MEGDNN_HOST
MEGDNN_DEVICE
wtype
apply
(
wtype
lhs
,
wtype
rhs
)
{
static
MEGDNN_HOST
MEGDNN_DEVICE
wtype
apply
(
wtype
lhs
,
wtype
rhs
)
{
return
lhs
+
rhs
;
return
lhs
+
rhs
;
...
...
dnn/test/cuda/reduce.cpp
浏览文件 @
17371e79
...
@@ -103,6 +103,16 @@ TEST_F(CUDA, REDUCE) {
...
@@ -103,6 +103,16 @@ TEST_F(CUDA, REDUCE) {
.
set_param
(
param
)
.
set_param
(
param
)
.
execs
({{
1
,
4194304
,
1
},
{
1
,
1
,
1
}});
.
execs
({{
1
,
4194304
,
1
},
{
1
,
1
,
1
}});
}
}
{
// large reduce_mean for O16C32
Reduce
::
Param
param
{
Mode
::
MEAN
,
1
,
Reduce
::
Param
::
DataType
::
FLOAT_O16xC32
};
checker
.
set_dtype
(
0
,
dtype
::
Float16
())
.
set_dtype
(
1
,
dtype
::
Float16
())
.
set_param
(
param
)
.
execs
({{
1
,
65536
,
5
},
{
1
,
1
,
5
}});
}
}
}
// vim: syntax=cpp.doxygen
// vim: syntax=cpp.doxygen
dnn/test/fallback/reduce.cpp
浏览文件 @
17371e79
...
@@ -74,6 +74,15 @@ TEST_F(FALLBACK, REDUCE) {
...
@@ -74,6 +74,15 @@ TEST_F(FALLBACK, REDUCE) {
Config
config
(
param
,
dtype
,
shape
);
Config
config
(
param
,
dtype
,
shape
);
configs
.
push_back
(
config
);
configs
.
push_back
(
config
);
}
}
{
// large reduce_mean for O16C32
TensorShape
shape
{
1
,
65536
,
5
};
Param
param
(
Mode
::
MEAN
,
1
,
DataType
::
FLOAT_O16xC32
);
Config
config
(
param
,
dtype
::
Float16
(),
shape
);
configs
.
push_back
(
config
);
}
for
(
auto
&&
config
:
configs
)
{
for
(
auto
&&
config
:
configs
)
{
auto
&&
dtype
=
config
.
dtype
;
auto
&&
dtype
=
config
.
dtype
;
auto
&&
param
=
config
.
param
;
auto
&&
param
=
config
.
param
;
...
...
dnn/test/rocm/reduce.cpp
浏览文件 @
17371e79
...
@@ -103,6 +103,16 @@ TEST_F(ROCM, REDUCE) {
...
@@ -103,6 +103,16 @@ TEST_F(ROCM, REDUCE) {
.
set_param
(
param
)
.
set_param
(
param
)
.
execs
({{
1
,
4194304
,
1
},
{
1
,
1
,
1
}});
.
execs
({{
1
,
4194304
,
1
},
{
1
,
1
,
1
}});
}
}
{
// large reduce_mean for O16C32
Reduce
::
Param
param
{
Mode
::
MEAN
,
1
,
Reduce
::
Param
::
DataType
::
FLOAT_O16xC32
};
checker
.
set_dtype
(
0
,
dtype
::
Float16
())
.
set_dtype
(
1
,
dtype
::
Float16
())
.
set_param
(
param
)
.
execs
({{
1
,
65536
,
5
},
{
1
,
1
,
5
}});
}
#endif
#endif
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录