Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
68c5e766
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看板
提交
68c5e766
编写于
11月 30, 2022
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(midout): add more midout tag
GitOrigin-RevId: 6096aa2f66cb8f0c89bb3d5003623fca22dcfcc3
上级
9bf718b7
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
402 addition
and
210 deletion
+402
-210
dnn/src/arm_common/elemwise_multi_type/opr_impl.cpp
dnn/src/arm_common/elemwise_multi_type/opr_impl.cpp
+151
-81
dnn/src/common/warp_common.h
dnn/src/common/warp_common.h
+45
-25
dnn/src/fallback/elemwise_multi_type/quantized_impl.cpp
dnn/src/fallback/elemwise_multi_type/quantized_impl.cpp
+151
-81
dnn/src/naive/elemwise_multi_type/opr_impl_3.cpp
dnn/src/naive/elemwise_multi_type/opr_impl_3.cpp
+9
-1
dnn/src/naive/elemwise_multi_type/opr_impl_4.cpp
dnn/src/naive/elemwise_multi_type/opr_impl_4.cpp
+37
-21
dnn/src/naive/elemwise_multi_type/opr_impl_5.cpp
dnn/src/naive/elemwise_multi_type/opr_impl_5.cpp
+9
-1
未找到文件。
dnn/src/arm_common/elemwise_multi_type/opr_impl.cpp
浏览文件 @
68c5e766
此差异已折叠。
点击以展开。
dnn/src/common/warp_common.h
浏览文件 @
68c5e766
...
...
@@ -913,31 +913,51 @@ void remap(
} \
}
#define DISPATCH_IMODE(_imode, _bmode, _ch, _cb) \
switch (_imode) { \
case InterpolationMode::NEAREST: { \
DISPATCH_BMODE(InterpolationMode::NEAREST, _bmode, _ch, _cb); \
break; \
} \
case InterpolationMode::LINEAR: { \
DISPATCH_BMODE(InterpolationMode::LINEAR, _bmode, _ch, _cb); \
break; \
} \
case InterpolationMode::AREA: { \
DISPATCH_BMODE(InterpolationMode::AREA, _bmode, _ch, _cb); \
break; \
} \
case InterpolationMode::CUBIC: { \
DISPATCH_BMODE(InterpolationMode::CUBIC, _bmode, _ch, _cb); \
break; \
} \
case InterpolationMode::LANCZOS4: { \
DISPATCH_BMODE(InterpolationMode::LANCZOS4, _bmode, _ch, _cb); \
break; \
} \
default: { \
megdnn_assert(0, "unsupport interpolation mode for cv"); \
} \
#define DISPATCH_IMODE(_imode, _bmode, _ch, _cb) \
switch (_imode) { \
case InterpolationMode::NEAREST: { \
MIDOUT_BEGIN( \
megdnn_warp, midout_iv(0), midout_iv("DISPATCH_IMODE"_hash)) { \
DISPATCH_BMODE(InterpolationMode::NEAREST, _bmode, _ch, _cb); \
} \
MIDOUT_END(); \
break; \
} \
case InterpolationMode::LINEAR: { \
MIDOUT_BEGIN( \
megdnn_warp, midout_iv(1), midout_iv("DISPATCH_IMODE"_hash)) { \
DISPATCH_BMODE(InterpolationMode::LINEAR, _bmode, _ch, _cb); \
} \
MIDOUT_END(); \
break; \
} \
case InterpolationMode::AREA: { \
MIDOUT_BEGIN( \
megdnn_warp, midout_iv(2), midout_iv("DISPATCH_IMODE"_hash)) { \
DISPATCH_BMODE(InterpolationMode::AREA, _bmode, _ch, _cb); \
} \
MIDOUT_END(); \
break; \
} \
case InterpolationMode::CUBIC: { \
MIDOUT_BEGIN( \
megdnn_warp, midout_iv(3), midout_iv("DISPATCH_IMODE"_hash)) { \
DISPATCH_BMODE(InterpolationMode::CUBIC, _bmode, _ch, _cb); \
} \
MIDOUT_END(); \
break; \
} \
case InterpolationMode::LANCZOS4: { \
MIDOUT_BEGIN( \
megdnn_warp, midout_iv(4), midout_iv("DISPATCH_IMODE"_hash)) { \
DISPATCH_BMODE(InterpolationMode::LANCZOS4, _bmode, _ch, _cb); \
} \
MIDOUT_END(); \
break; \
} \
default: { \
megdnn_assert(0, "unsupport interpolation mode for cv"); \
} \
}
}
// namespace warp
...
...
dnn/src/fallback/elemwise_multi_type/quantized_impl.cpp
浏览文件 @
68c5e766
此差异已折叠。
点击以展开。
dnn/src/naive/elemwise_multi_type/opr_impl_3.cpp
浏览文件 @
68c5e766
...
...
@@ -2,6 +2,9 @@
#include "src/common/elemwise/kern_defs.cuh"
#include "src/common/elemwise_multi_type/kern_defs.cuh"
#include "midout.h"
MIDOUT_DECL
(
megdnn_naive_elemwise_multi_type
)
using
namespace
megdnn
;
using
namespace
naive
;
...
...
@@ -16,7 +19,12 @@ void ElemwiseMultiTypeImpl::on_quantized_mode(
typedef ElemwiseKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, float> \
KernImpl; \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<1>>(param, dst); \
MIDOUT_BEGIN( \
megdnn_naive_elemwise_multi_type, midout_iv(1), \
param_enumv::Elemwise::Mode::_mode) { \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<1>>(param, dst); \
} \
MIDOUT_END(); \
break; \
}
...
...
dnn/src/naive/elemwise_multi_type/opr_impl_4.cpp
浏览文件 @
68c5e766
...
...
@@ -2,6 +2,9 @@
#include "src/common/elemwise/kern_defs.cuh"
#include "src/common/elemwise_multi_type/kern_defs.cuh"
#include "midout.h"
MIDOUT_DECL
(
megdnn_naive_elemwise_multi_type
)
using
namespace
megdnn
;
using
namespace
naive
;
...
...
@@ -18,7 +21,12 @@ void ElemwiseMultiTypeImpl::on_quantized_mode(
typedef ElemwiseKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, float> \
KernImpl; \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<2>>(param, dst); \
MIDOUT_BEGIN( \
megdnn_naive_elemwise_multi_type, midout_iv(2), \
param_enumv::Elemwise::Mode::_mode) { \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<2>>(param, dst); \
} \
MIDOUT_END(); \
break; \
}
...
...
@@ -59,16 +67,20 @@ void ElemwiseMultiTypeImpl::dest_type_bool_mode(
switch
(
mode
)
{
case
Elemwise
::
Mode
::
ISINF
:
{
switch
(
param
[
0
].
layout
.
dtype
.
enumv
())
{
#define DISPATCH(_dt, _mode) \
case DTypeTrait<_dt>::enumv: { \
typedef ElemwiseBoolKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, \
typename DTypeTrait<_dt>::ctype, dt_bool> \
KernImpl##_mode; \
dispatch_dst_bool_op< \
KernImpl##_mode, typename DTypeTrait<_dt>::ctype, dt_bool>( \
param, dst); \
break; \
#define DISPATCH(_dt, _mode) \
case DTypeTrait<_dt>::enumv: { \
typedef ElemwiseBoolKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, \
typename DTypeTrait<_dt>::ctype, dt_bool> \
KernImpl##_mode; \
using _ctype = typename DTypeTrait<_dt>::ctype; \
MIDOUT_BEGIN( \
megdnn_naive_elemwise_multi_type, midout_iv(0), _ctype, \
param_enumv::Elemwise::Mode::_mode) { \
dispatch_dst_bool_op<KernImpl##_mode, _ctype, dt_bool>(param, dst); \
} \
MIDOUT_END(); \
break; \
}
#define DISPATCH_MODE(_mode) \
DISPATCH(megdnn::dtype::Float32, _mode); \
...
...
@@ -105,16 +117,20 @@ void ElemwiseMultiTypeImpl::dest_type_bool_mode(
switch
(
mode
)
{
case
Elemwise
::
Mode
::
EQ
:
{
switch
(
param
[
0
].
layout
.
dtype
.
enumv
())
{
#define DISPATCH(_dt, _mode) \
case DTypeTrait<_dt>::enumv: { \
typedef ElemwiseBoolKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, \
typename DTypeTrait<_dt>::ctype, dt_bool> \
KernImpl##_mode; \
dispatch_dst_bool_op< \
KernImpl##_mode, typename DTypeTrait<_dt>::ctype, dt_bool>( \
param, dst); \
break; \
#define DISPATCH(_dt, _mode) \
case DTypeTrait<_dt>::enumv: { \
typedef ElemwiseBoolKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, \
typename DTypeTrait<_dt>::ctype, dt_bool> \
KernImpl##_mode; \
using _ctype = typename DTypeTrait<_dt>::ctype; \
MIDOUT_BEGIN( \
megdnn_naive_elemwise_multi_type, midout_iv(1), _ctype, \
param_enumv::Elemwise::Mode::_mode) { \
dispatch_dst_bool_op<KernImpl##_mode, _ctype, dt_bool>(param, dst); \
} \
MIDOUT_END(); \
break; \
};
#define DISPATCH_MODE(_mode) \
DISPATCH(megdnn::dtype::Float32, _mode); \
...
...
dnn/src/naive/elemwise_multi_type/opr_impl_5.cpp
浏览文件 @
68c5e766
...
...
@@ -2,6 +2,9 @@
#include "src/common/elemwise/kern_defs.cuh"
#include "src/common/elemwise_multi_type/kern_defs.cuh"
#include "midout.h"
MIDOUT_DECL
(
megdnn_naive_elemwise_multi_type
)
using
namespace
megdnn
;
using
namespace
naive
;
...
...
@@ -19,7 +22,12 @@ void ElemwiseMultiTypeImpl::on_quantized_mode(
typedef ElemwiseKern< \
megcorePlatformCPU, param_enumv::Elemwise::Mode::_mode, float> \
KernImpl; \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<3>>(param, dst); \
MIDOUT_BEGIN( \
megdnn_naive_elemwise_multi_type, midout_iv(3), \
param_enumv::Elemwise::Mode::_mode) { \
dispatch_qint_op_dtype<KernImpl, ElemwiseOpParamN<3>>(param, dst); \
} \
MIDOUT_END(); \
break; \
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录