Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
0ebd4400
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看板
提交
0ebd4400
编写于
11月 03, 2022
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(dnn): fix the modulo of int
GitOrigin-RevId: 6f7280246b7fcc10a972fa7ebfd856a968b153fd
上级
6fac92dd
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
23 addition
and
3 deletion
+23
-3
dnn/src/common/elemwise/kern_defs.cuh
dnn/src/common/elemwise/kern_defs.cuh
+1
-1
dnn/test/common/elemwise.cpp
dnn/test/common/elemwise.cpp
+1
-1
dnn/test/naive/elemwise_multi_type.cpp
dnn/test/naive/elemwise_multi_type.cpp
+20
-0
src/opr/test/basic_arith/elemwise.cpp
src/opr/test/basic_arith/elemwise.cpp
+1
-1
未找到文件。
dnn/src/common/elemwise/kern_defs.cuh
浏览文件 @
0ebd4400
...
@@ -229,7 +229,7 @@ DEF_KERN(dt_bool, EQ, x == y);
...
@@ -229,7 +229,7 @@ DEF_KERN(dt_bool, EQ, x == y);
DEF_KERN_INT
(
FLOOR_DIV
,
dispatch_floordiv_int
(
x
,
y
));
DEF_KERN_INT
(
FLOOR_DIV
,
dispatch_floordiv_int
(
x
,
y
));
DEF_KERN_FLOAT
(
FLOOR_DIV
,
floorf
(
x
/
y
));
DEF_KERN_FLOAT
(
FLOOR_DIV
,
floorf
(
x
/
y
));
DEF_KERN_INT
(
MOD
,
x
%
y
);
DEF_KERN_INT
(
MOD
,
((
y
+
x
%
y
)
%
y
));
// consistent with python modulo
DEF_KERN_FLOAT
(
MOD
,
fmodf
(
x
,
y
));
DEF_KERN_FLOAT
(
MOD
,
fmodf
(
x
,
y
));
DEF_KERN_INT
(
SHL
,
x
<<
y
);
DEF_KERN_INT
(
SHL
,
x
<<
y
);
...
...
dnn/test/common/elemwise.cpp
浏览文件 @
0ebd4400
...
@@ -878,8 +878,8 @@ DEF_TEST(all_modes) {
...
@@ -878,8 +878,8 @@ DEF_TEST(all_modes) {
} while (0)
} while (0)
if
(
trait
.
allow_int
)
{
if
(
trait
.
allow_int
)
{
run
(
dtype
::
Int8
{});
run
(
dtype
::
Int32
{});
run
(
dtype
::
Int32
{});
run
(
dtype
::
Int8
{});
}
}
if
(
trait
.
allow_float
)
{
if
(
trait
.
allow_float
)
{
DNN_FLOAT16_SELECT
(
DNN_FLOAT16_SELECT
(
...
...
dnn/test/naive/elemwise_multi_type.cpp
浏览文件 @
0ebd4400
...
@@ -280,4 +280,24 @@ TEST_F(NAIVE, ELEMWISE_QUANTIZED_MODE_TERNARY) {
...
@@ -280,4 +280,24 @@ TEST_F(NAIVE, ELEMWISE_QUANTIZED_MODE_TERNARY) {
}
}
}
}
TEST_F
(
NAIVE
,
ELELMWISE_INT_MODULO
)
{
Checker
<
Elemwise
>
checker
(
handle
(),
/* check_dispatch */
false
);
Elemwise
::
Param
param
;
param
.
mode
=
Elemwise
::
Param
::
Mode
::
MOD
;
checker
.
set_param
(
param
).
exect
(
Testcase
{
TensorValue
(
{
10
},
dtype
::
Int32
(),
{
10
,
24
,
-
6
,
-
20
,
10
,
-
90
,
45
,
3
,
-
1
,
0
}),
TensorValue
(
{
10
},
dtype
::
Int32
(),
{
3
,
7
,
5
,
-
3
,
-
6
,
11
,
7
,
-
1
,
8
,
-
1
}),
{}},
Testcase
{
{},
{},
TensorValue
(
{
10
},
dtype
::
Int32
(),
{
1
,
3
,
4
,
-
2
,
-
2
,
9
,
3
,
0
,
7
,
0
})});
}
// vim: syntax=cpp.doxygen
// vim: syntax=cpp.doxygen
src/opr/test/basic_arith/elemwise.cpp
浏览文件 @
0ebd4400
...
@@ -25,7 +25,7 @@ float do_mod(float a, float b) {
...
@@ -25,7 +25,7 @@ float do_mod(float a, float b) {
}
}
int
do_mod
(
int
a
,
int
b
)
{
int
do_mod
(
int
a
,
int
b
)
{
return
a
%
b
;
return
(
a
%
b
+
b
)
%
b
;
}
}
float
do_floor_div
(
float
a
,
float
b
)
{
float
do_floor_div
(
float
a
,
float
b
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录