for (int i = 0; i < channels; ++i)\r
src[i] = cv::Mat(size, depth, cv::Scalar::all(i));\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
std::vector<cv::gpu::GpuMat> d_src(channels);\r
for (int i = 0; i < channels; ++i)\r
{\r
cv::gpu::merge(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::merge(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Mat src(size, CV_MAKE_TYPE(depth, channels), cv::Scalar(1, 2, 3, 4));\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
\r
{\r
cv::gpu::split(d_src, d_dst);\r
}\r
+\r
+ cv::gpu::GpuMat first = d_dst[0];\r
+ GPU_SANITY_CHECK(first);\r
}\r
else\r
{\r
{\r
cv::split(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::add(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::add(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s(1, 2, 3, 4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::add(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::add(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::subtract(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::subtract(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s(1, 2, 3, 4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::subtract(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::subtract(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::multiply(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::multiply(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s(1, 2, 3, 4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::multiply(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::multiply(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::divide(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::divide(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s(1, 2, 3, 4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::divide(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::divide(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
double s = 100.0;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::divide(s, d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::divide(s, src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::absdiff(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::absdiff(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s(1, 2, 3, 4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::absdiff(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::absdiff(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::abs(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::sqr(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::sqrt(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::sqrt(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src, 1.0, 255.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::log(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::log(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src, 1.0, 10.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::exp(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::exp(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src, 1.0, 10.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::pow(d_src, power, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::pow(src, power, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::compare(d_src1, d_src2, d_dst, cmp_code);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::compare(src1, src2, dst, cmp_code);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s = cv::Scalar::all(100);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::compare(d_src, s, d_dst, cmp_code);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::compare(src, s, dst, cmp_code);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, depth);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::bitwise_not(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::bitwise_not(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::bitwise_and(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
\r
cv::Scalar s = cv::Scalar::all(100);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::bitwise_and(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::bitwise_and(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::bitwise_or(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::bitwise_or(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
cv::Scalar s = cv::Scalar::all(100);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::bitwise_or(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::bitwise_or(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::bitwise_xor(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
\r
cv::Scalar s = cv::Scalar::all(100);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::bitwise_xor(d_src, s, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::bitwise_xor(src, s, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
const cv::Scalar_<int> val = cv::Scalar_<int>::all(4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::rshift(d_src, val, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
\r
const cv::Scalar_<int> val = cv::Scalar_<int>::all(4);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::lshift(d_src, val, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::min(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::min(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
const double val = 50.0;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::min(d_src, val, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::min(src, val, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::max(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::max(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
\r
const double val = 50.0;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::max(d_src, val, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::max(src, val, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, depth2);\r
fillRandom(src2);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::addWeighted(d_src1, 0.5, d_src2, 0.5, 10.0, d_dst, dst_depth);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src3(size, type);\r
fillRandom(src3);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::gemm(d_src1, d_src2, 1.0, d_src3, 1.0, d_dst, flags);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, type);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::transpose(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::transpose(src, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, type);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::flip(d_src, d_dst, flipCode);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::flip(src, dst, flipCode);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat lut(1, 256, CV_8UC1);\r
fillRandom(lut);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::LUT(d_src, lut, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::LUT(src, lut, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat lut(1, 256, CV_MAKE_TYPE(CV_8U, src.channels()));\r
fillRandom(lut);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::LUT(d_src, lut, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::LUT(src, lut, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, CV_32FC2);\r
fillRandom(src, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::magnitude(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::magnitude(xy[0], xy[1], dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src(size, CV_32FC2);\r
fillRandom(src, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::magnitudeSqr(d_src, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
cv::Mat src2(size, CV_32FC1);\r
fillRandom(src2, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::magnitude(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::magnitude(src1, src2, dst);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
+\r
}\r
}\r
\r
cv::Mat src2(size, CV_32FC1);\r
fillRandom(src2, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::magnitudeSqr(d_src1, d_src2, d_dst);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
cv::Mat src2(size, CV_32FC1);\r
fillRandom(src2, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::phase(d_src1, d_src2, d_dst, angleInDegrees);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r
{\r
cv::phase(src1, src2, dst, angleInDegrees);\r
}\r
+\r
+ CPU_SANITY_CHECK(dst);\r
}\r
}\r
\r
cv::Mat src2(size, CV_32FC1);\r
fillRandom(src2, -100.0, 100.0);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
cv::gpu::cartToPolar(d_src1, d_src2, d_magnitude, d_angle, angleInDegrees);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_magnitude);\r
+ GPU_SANITY_CHECK(d_angle);\r
+\r
}\r
else\r
{\r
{\r
cv::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);\r
}\r
+\r
+ CPU_SANITY_CHECK(magnitude);\r
+ CPU_SANITY_CHECK(angle);\r
}\r
}\r
\r
cv::Mat angle(size, CV_32FC1);\r
fillRandom(angle, 0.0, angleInDegrees ? 360.0 : 2 * CV_PI);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_magnitude(magnitude);\r
cv::gpu::GpuMat d_angle(angle);\r
{\r
cv::gpu::polarToCart(d_magnitude, d_angle, d_x, d_y, angleInDegrees);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_x);\r
+ GPU_SANITY_CHECK(d_y);\r
}\r
else\r
{\r
{\r
cv::polarToCart(magnitude, angle, x, y, angleInDegrees);\r
}\r
+\r
+ CPU_SANITY_CHECK(x);\r
+ CPU_SANITY_CHECK(y);\r
}\r
}\r
\r
cv::Scalar mean;\r
cv::Scalar stddev;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
cv::meanStdDev(src, mean, stddev);\r
}\r
}\r
+\r
+ GPU_SANITY_CHECK(stddev);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
\r
double dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
dst = cv::norm(src, normType);\r
}\r
}\r
- (void)dst;\r
+\r
+ SANITY_CHECK(dst);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
\r
double dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src1(src1);\r
cv::gpu::GpuMat d_src2(src2);\r
{\r
dst = cv::gpu::norm(d_src1, d_src2, normType);\r
}\r
+\r
}\r
else\r
{\r
dst = cv::norm(src1, src2, normType);\r
}\r
}\r
- (void)dst;\r
+\r
+ SANITY_CHECK(dst);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
\r
cv::Scalar dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
dst = cv::sum(src);\r
}\r
}\r
+\r
+ SANITY_CHECK(dst);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
\r
cv::Scalar dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
{\r
dst = cv::gpu::absSum(d_src, d_buf);\r
}\r
+\r
+ SANITY_CHECK(dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
\r
cv::Scalar dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
{\r
dst = cv::gpu::sqrSum(d_src, d_buf);\r
}\r
+\r
+ SANITY_CHECK(dst);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
\r
double minVal, maxVal;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
{\r
cv::gpu::minMax(d_src, &minVal, &maxVal, cv::gpu::GpuMat(), d_buf);\r
}\r
+\r
+ SANITY_CHECK(minVal);\r
+ SANITY_CHECK(maxVal);\r
}\r
else\r
{\r
- FAIL();\r
+ FAIL() << "No such CPU implementation analogy";\r
}\r
}\r
\r
double minVal, maxVal;\r
cv::Point minLoc, maxLoc;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_valbuf, d_locbuf;\r
cv::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc);\r
}\r
}\r
+\r
+ SANITY_CHECK(minVal);\r
+ SANITY_CHECK(maxVal);\r
+\r
+ // unsupported by peft system\r
+ //SANITY_CHECK(minLoc);\r
+ //SANITY_CHECK(maxLoc);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
\r
int dst;\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_buf;\r
dst = cv::countNonZero(src);\r
}\r
}\r
- (void)dst;\r
+\r
+ SANITY_CHECK(dst);\r
}\r
\r
//////////////////////////////////////////////////////////////////////\r
cv::Mat src(size, type);\r
fillRandom(src);\r
\r
- if (runOnGpu)\r
+ if (PERF_RUN_GPU())\r
{\r
cv::gpu::GpuMat d_src(src);\r
cv::gpu::GpuMat d_dst;\r
{\r
cv::gpu::reduce(d_src, d_dst, dim, reduceOp);\r
}\r
+\r
+ GPU_SANITY_CHECK(d_dst);\r
}\r
else\r
{\r