Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
3a4d4080
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3a4d4080
编写于
1月 01, 2014
作者:
I
Ilya Lavrenov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed overflow for cv::norm NORM_L2
上级
1c3bfae2
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
12 addition
and
10 deletion
+12
-10
modules/core/perf/opencl/perf_arithm.cpp
modules/core/perf/opencl/perf_arithm.cpp
+4
-4
modules/core/src/opencl/reduce.cl
modules/core/src/opencl/reduce.cl
+1
-1
modules/core/src/stat.cpp
modules/core/src/stat.cpp
+6
-4
modules/core/test/ocl/test_arithm.cpp
modules/core/test/ocl/test_arithm.cpp
+1
-1
未找到文件。
modules/core/perf/opencl/perf_arithm.cpp
浏览文件 @
3a4d4080
...
...
@@ -651,13 +651,13 @@ OCL_PERF_TEST_P(SetIdentityFixture, SetIdentity,
typedef
Size_MatType
MeanStdDevFixture
;
OCL_PERF_TEST_P
(
MeanStdDevFixture
,
DISABLED_
MeanStdDev
,
OCL_PERF_TEST_P
(
MeanStdDevFixture
,
MeanStdDev
,
::
testing
::
Combine
(
OCL_PERF_ENUM
(
OCL_SIZE_1
,
OCL_SIZE_2
,
OCL_SIZE_3
),
OCL_TEST_TYPES
))
{
const
Size_MatType_t
params
=
GetParam
();
const
Size
srcSize
=
get
<
0
>
(
params
);
const
int
type
=
get
<
1
>
(
params
);
const
double
eps
=
1
e-5
;
const
double
eps
=
2
e-5
;
checkDeviceMaxMemoryAllocSize
(
srcSize
,
type
);
...
...
@@ -687,7 +687,7 @@ CV_ENUM(NormType, NORM_INF, NORM_L1, NORM_L2)
typedef
std
::
tr1
::
tuple
<
Size
,
MatType
,
NormType
>
NormParams
;
typedef
TestBaseWithParam
<
NormParams
>
NormFixture
;
OCL_PERF_TEST_P
(
NormFixture
,
DISABLED_
Norm
,
OCL_PERF_TEST_P
(
NormFixture
,
Norm
,
::
testing
::
Combine
(
OCL_PERF_ENUM
(
OCL_SIZE_1
,
OCL_SIZE_2
,
OCL_SIZE_3
),
OCL_TEST_TYPES
,
NormType
::
all
()))
{
const
NormParams
params
=
GetParam
();
...
...
@@ -703,7 +703,7 @@ OCL_PERF_TEST_P(NormFixture, DISABLED_Norm,
OCL_TEST_CYCLE
()
res
=
cv
::
norm
(
src1
,
src2
,
normType
);
SANITY_CHECK
(
res
,
1e-
6
,
ERROR_RELATIVE
);
SANITY_CHECK
(
res
,
1e-
5
,
ERROR_RELATIVE
);
}
///////////// Repeat ////////////////////////
...
...
modules/core/src/opencl/reduce.cl
浏览文件 @
3a4d4080
...
...
@@ -88,7 +88,7 @@
#define REDUCE_GLOBAL \
accumulator += src[0] == zero ? zero : one
#define SET_LOCAL_1 \
localmem[lid] = accumulator
localmem[lid] = accumulator
#define REDUCE_LOCAL_1 \
localmem[lid - WGS2_ALIGNED] += accumulator
#define REDUCE_LOCAL_2 \
...
...
modules/core/src/stat.cpp
浏览文件 @
3a4d4080
...
...
@@ -479,7 +479,8 @@ static bool ocl_sum( InputArray _src, Scalar & res, int sum_op )
int
dbsize
=
ocl
::
Device
::
getDefault
().
maxComputeUnits
();
size_t
wgs
=
ocl
::
Device
::
getDefault
().
maxWorkGroupSize
();
int
ddepth
=
std
::
max
(
CV_32S
,
depth
),
dtype
=
CV_MAKE_TYPE
(
ddepth
,
cn
);
int
ddepth
=
std
::
max
(
sum_op
==
OCL_OP_SUM_SQR
?
CV_32F
:
CV_32S
,
depth
),
dtype
=
CV_MAKE_TYPE
(
ddepth
,
cn
);
int
wgs2_aligned
=
1
;
while
(
wgs2_aligned
<
(
int
)
wgs
)
...
...
@@ -501,7 +502,7 @@ static bool ocl_sum( InputArray _src, Scalar & res, int sum_op )
dbsize
,
ocl
::
KernelArg
::
PtrWriteOnly
(
db
));
size_t
globalsize
=
dbsize
*
wgs
;
if
(
k
.
run
(
1
,
&
globalsize
,
&
wgs
,
tru
e
))
if
(
k
.
run
(
1
,
&
globalsize
,
&
wgs
,
fals
e
))
{
typedef
Scalar
(
*
part_sum
)(
Mat
m
);
part_sum
funcs
[
3
]
=
{
ocl_part_sum
<
int
>
,
ocl_part_sum
<
float
>
,
ocl_part_sum
<
double
>
},
...
...
@@ -1927,8 +1928,9 @@ static bool ocl_norm( InputArray _src, int normType, double & result )
Scalar
s
;
bool
unstype
=
depth
==
CV_8U
||
depth
==
CV_16U
;
ocl_sum
(
src
.
reshape
(
1
),
s
,
normType
==
NORM_L2
?
OCL_OP_SUM_SQR
:
(
unstype
?
OCL_OP_SUM
:
OCL_OP_SUM_ABS
)
);
if
(
!
ocl_sum
(
src
.
reshape
(
1
),
s
,
normType
==
NORM_L2
?
OCL_OP_SUM_SQR
:
(
unstype
?
OCL_OP_SUM
:
OCL_OP_SUM_ABS
))
)
return
false
;
result
=
normType
==
NORM_L1
?
s
[
0
]
:
std
::
sqrt
(
s
[
0
]);
}
...
...
modules/core/test/ocl/test_arithm.cpp
浏览文件 @
3a4d4080
...
...
@@ -1355,7 +1355,7 @@ OCL_TEST_P(ScaleAdd, Mat)
OCL_OFF
(
cv
::
scaleAdd
(
src1_roi
,
val
[
0
],
src2_roi
,
dst1_roi
));
OCL_ON
(
cv
::
scaleAdd
(
usrc1_roi
,
val
[
0
],
usrc2_roi
,
udst1_roi
));
Near
(
depth
<=
CV_32S
?
1
:
1e-
6
);
Near
(
depth
<=
CV_32S
?
1
:
1e-
3
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录