Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
74655928
Mace
项目概览
Xiaomi
/
Mace
通知
107
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看板
提交
74655928
编写于
4月 03, 2020
作者:
李
李超
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'tuning' into 'master'
fix tuning&fp16 bug See merge request deep-computing/mace!1254
上级
d9275275
d52d3ae7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
7 deletion
+14
-7
mace/ops/arm/fp16/gemv.h
mace/ops/arm/fp16/gemv.h
+9
-2
mace/ops/matmul.cc
mace/ops/matmul.cc
+4
-4
tools/device.py
tools/device.py
+1
-1
未找到文件。
mace/ops/arm/fp16/gemv.h
浏览文件 @
74655928
...
@@ -15,6 +15,13 @@
...
@@ -15,6 +15,13 @@
#ifndef MACE_OPS_ARM_FP16_GEMV_H_
#ifndef MACE_OPS_ARM_FP16_GEMV_H_
#define MACE_OPS_ARM_FP16_GEMV_H_
#define MACE_OPS_ARM_FP16_GEMV_H_
#if defined(MACE_ENABLE_NEON) && \
defined(__ARM_FP16_FORMAT_IEEE) && (__ARM_FP & 2)
// TODO(lichao): replace it with global macro
#define MACE_ENABLE_FP16_NEON
#endif
#include "mace/core/types.h"
#include "mace/core/types.h"
#if defined(MACE_ENABLE_NEON) && defined(__ANDROID__)
#if defined(MACE_ENABLE_NEON) && defined(__ANDROID__)
...
@@ -37,7 +44,7 @@ void FP16Gemv(const INPUT_TYPE_LEFT *m_ptr,
...
@@ -37,7 +44,7 @@ void FP16Gemv(const INPUT_TYPE_LEFT *m_ptr,
const
index_t
width
,
const
index_t
width
,
OUTPUT_TYPE
*
result
);
OUTPUT_TYPE
*
result
);
#if defined(MACE_ENABLE_NEON) && defined(__ANDROID__)
#if defined(MACE_ENABLE_
FP16_
NEON) && defined(__ANDROID__)
template
<
>
template
<
>
void
FP16Gemv
<
float16_t
,
float
,
float
>
(
const
float16_t
*
m_ptr
,
void
FP16Gemv
<
float16_t
,
float
,
float
>
(
const
float16_t
*
m_ptr
,
const
float
*
v_ptr
,
const
float
*
v_ptr
,
...
@@ -112,7 +119,7 @@ void FP16Gemv<float16_t, float, float>(const float16_t *m_ptr,
...
@@ -112,7 +119,7 @@ void FP16Gemv<float16_t, float, float>(const float16_t *m_ptr,
*
out_ptr0
++
=
sum0
;
*
out_ptr0
++
=
sum0
;
}
}
}
}
#endif
#endif
// MACE_ENABLE_FP16_NEON && __ANDROID__
}
// namespace ops
}
// namespace ops
}
// namespace mace
}
// namespace mace
...
...
mace/ops/matmul.cc
浏览文件 @
74655928
...
@@ -513,7 +513,7 @@ class MatMulOp<DeviceType::GPU, float> : public MatMulOpBase {
...
@@ -513,7 +513,7 @@ class MatMulOp<DeviceType::GPU, float> : public MatMulOpBase {
};
};
#endif // MACE_ENABLE_OPENCL
#endif // MACE_ENABLE_OPENCL
#if defined(MACE_ENABLE_NEON) && defined(__ANDROID__)
#if defined(MACE_ENABLE_
FP16_
NEON) && defined(__ANDROID__)
template
<
>
template
<
>
class
MatMulOp
<
CPU
,
float16_t
>
:
public
MatMulOpBase
{
class
MatMulOp
<
CPU
,
float16_t
>
:
public
MatMulOpBase
{
public:
public:
...
@@ -590,7 +590,7 @@ class MatMulOp<CPU, float16_t> : public MatMulOpBase {
...
@@ -590,7 +590,7 @@ class MatMulOp<CPU, float16_t> : public MatMulOpBase {
private:
private:
};
};
#endif // MACE_ENABLE_NEON
#endif // MACE_ENABLE_
FP16_
NEON
void
RegisterMatMul
(
OpRegistryBase
*
op_registry
)
{
void
RegisterMatMul
(
OpRegistryBase
*
op_registry
)
{
MACE_REGISTER_OP
(
op_registry
,
"MatMul"
,
MatMulOp
,
MACE_REGISTER_OP
(
op_registry
,
"MatMul"
,
MatMulOp
,
...
@@ -601,10 +601,10 @@ void RegisterMatMul(OpRegistryBase *op_registry) {
...
@@ -601,10 +601,10 @@ void RegisterMatMul(OpRegistryBase *op_registry) {
DeviceType
::
CPU
,
uint8_t
);
DeviceType
::
CPU
,
uint8_t
);
#endif // MACE_ENABLE_QUANTIZE
#endif // MACE_ENABLE_QUANTIZE
#if defined(MACE_ENABLE_NEON) && defined(__ANDROID__)
#if defined(MACE_ENABLE_
FP16_
NEON) && defined(__ANDROID__)
MACE_REGISTER_OP
(
op_registry
,
"MatMul"
,
MatMulOp
,
MACE_REGISTER_OP
(
op_registry
,
"MatMul"
,
MatMulOp
,
DeviceType
::
CPU
,
float16_t
);
DeviceType
::
CPU
,
float16_t
);
#endif // MACE_ENABLE_
NEON
#endif // MACE_ENABLE_
FP16_NEON && __ANDROID__
}
}
}
// namespace ops
}
// namespace ops
...
...
tools/device.py
浏览文件 @
74655928
...
@@ -271,7 +271,7 @@ class DeviceWrapper:
...
@@ -271,7 +271,7 @@ class DeviceWrapper:
if
device_type
==
common
.
DeviceType
.
GPU
:
if
device_type
==
common
.
DeviceType
.
GPU
:
if
os
.
path
.
exists
(
opencl_binary_file
):
if
os
.
path
.
exists
(
opencl_binary_file
):
self
.
push
(
opencl_binary_file
,
self
.
data
_dir
)
self
.
push
(
opencl_binary_file
,
self
.
interior
_dir
)
if
os
.
path
.
exists
(
opencl_parameter_file
):
if
os
.
path
.
exists
(
opencl_parameter_file
):
self
.
push
(
opencl_parameter_file
,
self
.
data_dir
)
self
.
push
(
opencl_parameter_file
,
self
.
data_dir
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录