added performance tests for log, exp, add, magnitude
This commit is contained in:
@@ -332,4 +332,112 @@ TEST(BruteForceMatcher)
|
||||
GPU_ON;
|
||||
d_matcher.radiusMatch(d_query, d_train, d_matches, max_distance);
|
||||
GPU_OFF;
|
||||
}
|
||||
|
||||
|
||||
TEST(magnitude)
|
||||
{
|
||||
Mat x, y, mag;
|
||||
gpu::GpuMat d_x, d_y, d_mag;
|
||||
|
||||
for (int size = 2000; size <= 4000; size += 1000)
|
||||
{
|
||||
SUBTEST << "size " << size;
|
||||
|
||||
gen(x, size, size, CV_32F, 0, 1);
|
||||
gen(y, size, size, CV_32F, 0, 1);
|
||||
mag.create(size, size, CV_32F);
|
||||
|
||||
CPU_ON;
|
||||
magnitude(x, y, mag);
|
||||
CPU_OFF;
|
||||
|
||||
d_x = x;
|
||||
d_y = y;
|
||||
d_mag.create(size, size, CV_32F);
|
||||
|
||||
GPU_ON;
|
||||
gpu::magnitude(d_x, d_y, d_mag);
|
||||
GPU_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TEST(add)
|
||||
{
|
||||
Mat src1, src2, dst;
|
||||
gpu::GpuMat d_src1, d_src2, d_dst;
|
||||
|
||||
for (int size = 2000; size <= 4000; size += 1000)
|
||||
{
|
||||
SUBTEST << "size " << size << ", 32F";
|
||||
|
||||
gen(src1, size, size, CV_32F, 0, 1);
|
||||
gen(src2, size, size, CV_32F, 0, 1);
|
||||
dst.create(size, size, CV_32F);
|
||||
|
||||
CPU_ON;
|
||||
add(src1, src2, dst);
|
||||
CPU_OFF;
|
||||
|
||||
d_src1 = src1;
|
||||
d_src2 = src2;
|
||||
d_dst.create(size, size, CV_32F);
|
||||
|
||||
GPU_ON;
|
||||
gpu::add(d_src1, d_src2, d_dst);
|
||||
GPU_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TEST(log)
|
||||
{
|
||||
Mat src, dst;
|
||||
gpu::GpuMat d_src, d_dst;
|
||||
|
||||
for (int size = 2000; size <= 4000; size += 1000)
|
||||
{
|
||||
SUBTEST << "size " << size << ", 32F";
|
||||
|
||||
gen(src, size, size, CV_32F, 1, 10);
|
||||
dst.create(size, size, CV_32F);
|
||||
|
||||
CPU_ON;
|
||||
log(src, dst);
|
||||
CPU_OFF;
|
||||
|
||||
d_src = src;
|
||||
d_dst.create(size, size, CV_32F);
|
||||
|
||||
GPU_ON;
|
||||
gpu::log(d_src, d_dst);
|
||||
GPU_OFF;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TEST(exp)
|
||||
{
|
||||
Mat src, dst;
|
||||
gpu::GpuMat d_src, d_dst;
|
||||
|
||||
for (int size = 2000; size <= 4000; size += 1000)
|
||||
{
|
||||
SUBTEST << "size " << size << ", 32F";
|
||||
|
||||
gen(src, size, size, CV_32F, 0, 1);
|
||||
dst.create(size, size, CV_32F);
|
||||
|
||||
CPU_ON;
|
||||
exp(src, dst);
|
||||
CPU_OFF;
|
||||
|
||||
d_src = src;
|
||||
d_dst.create(size, size, CV_32F);
|
||||
|
||||
GPU_ON;
|
||||
gpu::exp(d_src, d_dst);
|
||||
GPU_OFF;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user