fixed merge problem
authorMarina Kolpakova <no@email>
Thu, 28 Jun 2012 17:54:08 +0000 (17:54 +0000)
committerMarina Kolpakova <no@email>
Thu, 28 Jun 2012 17:54:08 +0000 (17:54 +0000)
modules/gpu/perf/perf_core.cpp [deleted file]

diff --git a/modules/gpu/perf/perf_core.cpp b/modules/gpu/perf/perf_core.cpp
deleted file mode 100644 (file)
index f413432..0000000
+++ /dev/null
@@ -1,1883 +0,0 @@
-#include "perf_precomp.hpp"\r
-\r
-#ifdef HAVE_CUDA\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Merge\r
-\r
-GPU_PERF_TEST(Merge, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    std::vector<cv::gpu::GpuMat> src(channels);\r
-    for (int i = 0; i < channels; ++i)\r
-        src[i] = cv::gpu::GpuMat(size, depth, cv::Scalar::all(i));\r
-\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::merge(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::merge(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Merge, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    testing::Values<Channels>(2, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Split\r
-\r
-GPU_PERF_TEST(Split, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    cv::gpu::GpuMat src(size, CV_MAKE_TYPE(depth, channels), cv::Scalar(1, 2, 3, 4));\r
-\r
-    std::vector<cv::gpu::GpuMat> dst;\r
-\r
-    cv::gpu::split(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::split(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Split, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    testing::Values<Channels>(2, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Add_Mat\r
-\r
-GPU_PERF_TEST(Add_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::add(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::add(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Add_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Add_Scalar\r
-\r
-GPU_PERF_TEST(Add_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s(1, 2, 3, 4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::add(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::add(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Add_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Subtract_Mat\r
-\r
-GPU_PERF_TEST(Subtract_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::subtract(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::subtract(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Subtract_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Subtract_Scalar\r
-\r
-GPU_PERF_TEST(Subtract_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s(1, 2, 3, 4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::subtract(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::subtract(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Subtract_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Multiply_Mat\r
-\r
-GPU_PERF_TEST(Multiply_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::multiply(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::multiply(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Multiply_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Multiply_Scalar\r
-\r
-GPU_PERF_TEST(Multiply_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s(1, 2, 3, 4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::multiply(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::multiply(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Multiply_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Divide_Mat\r
-\r
-GPU_PERF_TEST(Divide_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::divide(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::divide(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Divide_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Divide_Scalar\r
-\r
-GPU_PERF_TEST(Divide_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s(1, 2, 3, 4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::divide(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::divide(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Divide_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Divide_Scalar_Inv\r
-\r
-GPU_PERF_TEST(Divide_Scalar_Inv, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double scale = 100.0;\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::divide(scale, src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::divide(scale, src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Divide_Scalar_Inv, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// AbsDiff_Mat\r
-\r
-GPU_PERF_TEST(AbsDiff_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::absdiff(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::absdiff(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, AbsDiff_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// AbsDiff_Scalar\r
-\r
-GPU_PERF_TEST(AbsDiff_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s(1, 2, 3, 4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::absdiff(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::absdiff(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, AbsDiff_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Abs\r
-\r
-GPU_PERF_TEST(Abs, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::abs(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::abs(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Abs, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Sqr\r
-\r
-GPU_PERF_TEST(Sqr, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::sqr(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::sqr(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Sqr, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Sqrt\r
-\r
-GPU_PERF_TEST(Sqrt, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::sqrt(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::sqrt(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Sqrt, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Log\r
-\r
-GPU_PERF_TEST(Log, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 1.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::log(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::log(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Log, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Exp\r
-\r
-GPU_PERF_TEST(Exp, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 1.0, 10.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::exp(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::exp(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Exp, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Pow\r
-\r
-GPU_PERF_TEST(Pow, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 1.0, 10.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::pow(src, 2.3, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::pow(src, 2.3, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Pow, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16S, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Compare_Mat\r
-\r
-CV_ENUM(CmpCode, cv::CMP_EQ, cv::CMP_GT, cv::CMP_GE, cv::CMP_LT, cv::CMP_LE, cv::CMP_NE)\r
-#define ALL_CMP_CODES testing::Values(CmpCode(cv::CMP_EQ), CmpCode(cv::CMP_NE), CmpCode(cv::CMP_GT), CmpCode(cv::CMP_GE), CmpCode(cv::CMP_LT), CmpCode(cv::CMP_LE))\r
-\r
-GPU_PERF_TEST(Compare_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth, CmpCode)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int cmp_code = GET_PARAM(3);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::compare(src1, src2, dst, cmp_code);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::compare(src1, src2, dst, cmp_code);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Compare_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    ALL_CMP_CODES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Compare_Scalar\r
-\r
-GPU_PERF_TEST(Compare_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth, CmpCode)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int cmp_code = GET_PARAM(3);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s = cv::Scalar::all(50);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::compare(src, s, dst, cmp_code);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::compare(src, s, dst, cmp_code);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Compare_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    ALL_CMP_CODES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_Not\r
-\r
-GPU_PERF_TEST(Bitwise_Not, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_not(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_not(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_Not, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_And_Mat\r
-\r
-GPU_PERF_TEST(Bitwise_And_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_and(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_and(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_And_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_And_Scalar\r
-\r
-GPU_PERF_TEST(Bitwise_And_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s = cv::Scalar(50, 50, 50, 50);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_and(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_and(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_And_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S),\r
-    testing::Values<Channels>(1, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_Or_Mat\r
-\r
-GPU_PERF_TEST(Bitwise_Or_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_or(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_or(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_Or_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_Or_Scalar\r
-\r
-GPU_PERF_TEST(Bitwise_Or_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s = cv::Scalar(50, 50, 50, 50);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_or(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_or(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_Or_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S),\r
-    testing::Values<Channels>(1, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_Xor_Mat\r
-\r
-GPU_PERF_TEST(Bitwise_Xor_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_xor(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_xor(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_Xor_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Bitwise_Xor_Scalar\r
-\r
-GPU_PERF_TEST(Bitwise_Xor_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar s = cv::Scalar(50, 50, 50, 50);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::bitwise_xor(src, s, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::bitwise_xor(src, s, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Bitwise_Xor_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S),\r
-    testing::Values<Channels>(1, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// RShift\r
-\r
-GPU_PERF_TEST(RShift, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar_<int> val = cv::Scalar_<int>::all(4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::rshift(src, val, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::rshift(src, val, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, RShift, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S),\r
-    testing::Values<Channels>(1, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// LShift\r
-\r
-GPU_PERF_TEST(LShift, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar_<int> val = cv::Scalar_<int>::all(4);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::lshift(src, val, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::lshift(src, val, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, LShift, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S),\r
-    testing::Values<Channels>(1, 3, 4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Min_Mat\r
-\r
-GPU_PERF_TEST(Min_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 255.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::min(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::min(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Min_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Min_Scalar\r
-\r
-GPU_PERF_TEST(Min_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double val = 50.0;\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::min(src, val, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::min(src, val, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Min_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Max_Mat\r
-\r
-GPU_PERF_TEST(Max_Mat, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, depth);\r
-    fill(src1_host, 0, 255.0);\r
-\r
-    cv::Mat src2_host(size, depth);\r
-    fill(src2_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::max(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::max(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Max_Mat, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Max_Scalar\r
-\r
-GPU_PERF_TEST(Max_Scalar, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double val = 50.0;\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::max(src, val, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::max(src, val, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Max_Scalar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// AddWeighted\r
-\r
-GPU_PERF_TEST(AddWeighted, cv::gpu::DeviceInfo, cv::Size, MatDepth, MatDepth, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth1 = GET_PARAM(2);\r
-    int depth2 = GET_PARAM(3);\r
-    int dst_depth = GET_PARAM(4);\r
-\r
-    cv::Mat src1_host(size, depth1);\r
-    fill(src1_host, 0, 100.0);\r
-\r
-    cv::Mat src2_host(size, depth2);\r
-    fill(src2_host, 0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, AddWeighted, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F),\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// GEMM\r
-#ifdef HAVE_CUBLAS\r
-\r
-CV_FLAGS(GemmFlags, 0, cv::GEMM_1_T, cv::GEMM_2_T, cv::GEMM_3_T)\r
-#define ALL_GEMM_FLAGS testing::Values(GemmFlags(0), GemmFlags(cv::GEMM_1_T), GemmFlags(cv::GEMM_2_T), GemmFlags(cv::GEMM_3_T), GemmFlags(cv::GEMM_1_T | cv::GEMM_2_T), GemmFlags(cv::GEMM_1_T | cv::GEMM_3_T), GemmFlags(cv::GEMM_1_T | cv::GEMM_2_T | cv::GEMM_3_T))\r
-\r
-GPU_PERF_TEST(GEMM, cv::gpu::DeviceInfo, cv::Size, MatType, GemmFlags)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-    int flags = GET_PARAM(3);\r
-\r
-    cv::Mat src1_host(size, type);\r
-    fill(src1_host, 0.0, 10.0);\r
-\r
-    cv::Mat src2_host(size, type);\r
-    fill(src2_host, 0.0, 10.0);\r
-\r
-    cv::Mat src3_host(size, type);\r
-    fill(src3_host, 0.0, 10.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat src3(src3_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);\r
-\r
-    declare.time(5.0);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, GEMM, testing::Combine(\r
-    ALL_DEVICES,\r
-    testing::Values(cv::Size(512, 512), cv::Size(1024, 1024)),\r
-    testing::Values<MatType>(CV_32FC1, CV_32FC2, CV_64FC1, CV_64FC2),\r
-    ALL_GEMM_FLAGS));\r
-\r
-#endif\r
-//////////////////////////////////////////////////////////////////////\r
-// Transpose\r
-\r
-GPU_PERF_TEST(Transpose, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::transpose(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::transpose(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Transpose, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC4, CV_16UC2, CV_16SC2, CV_32SC1, CV_32SC2, CV_64FC1)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Flip\r
-\r
-enum {FLIP_BOTH = 0, FLIP_X = 1, FLIP_Y = -1};\r
-CV_ENUM(FlipCode, FLIP_BOTH, FLIP_X, FLIP_Y)\r
-#define ALL_FLIP_CODES testing::Values(FlipCode(FLIP_BOTH), FlipCode(FLIP_X), FlipCode(FLIP_Y))\r
-\r
-GPU_PERF_TEST(Flip, cv::gpu::DeviceInfo, cv::Size, MatType, FlipCode)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-    int flipCode = GET_PARAM(3);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::flip(src, dst, flipCode);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::flip(src, dst, flipCode);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Flip, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4),\r
-    ALL_FLIP_CODES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// LUT_OneChannel\r
-\r
-GPU_PERF_TEST(LUT_OneChannel, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::Mat lut(1, 256, CV_8UC1);\r
-    fill(lut, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::LUT(src, lut, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::LUT(src, lut, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, LUT_OneChannel, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC3)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// LUT_MultiChannel\r
-\r
-GPU_PERF_TEST(LUT_MultiChannel, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 100.0);\r
-\r
-    cv::Mat lut(1, 256, CV_MAKE_TYPE(CV_8U, src_host.channels()));\r
-    fill(lut, 0.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::LUT(src, lut, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::LUT(src, lut, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, LUT_MultiChannel, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC3)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Magnitude_Complex\r
-\r
-GPU_PERF_TEST(Magnitude_Complex, cv::gpu::DeviceInfo, cv::Size)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-\r
-    cv::Mat src_host(size, CV_32FC2);\r
-    fill(src_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::magnitude(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::magnitude(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Magnitude_Complex, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Magnitude_Sqr_Complex\r
-\r
-GPU_PERF_TEST(Magnitude_Sqr_Complex, cv::gpu::DeviceInfo, cv::Size)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-\r
-    cv::Mat src_host(size, CV_32FC2);\r
-    fill(src_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::magnitudeSqr(src, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::magnitudeSqr(src, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Magnitude_Sqr_Complex, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Magnitude\r
-\r
-GPU_PERF_TEST(Magnitude, cv::gpu::DeviceInfo, cv::Size)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-\r
-    cv::Mat src1_host(size, CV_32FC1);\r
-    fill(src1_host, -100.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, CV_32FC1);\r
-    fill(src2_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::magnitude(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::magnitude(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Magnitude, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Magnitude_Sqr\r
-\r
-GPU_PERF_TEST(Magnitude_Sqr, cv::gpu::DeviceInfo, cv::Size)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-\r
-    cv::Mat src1_host(size, CV_32FC1);\r
-    fill(src1_host, -100.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, CV_32FC1);\r
-    fill(src2_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::magnitudeSqr(src1, src2, dst);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::magnitudeSqr(src1, src2, dst);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Magnitude_Sqr, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Phase\r
-\r
-IMPLEMENT_PARAM_CLASS(AngleInDegrees, bool)\r
-\r
-GPU_PERF_TEST(Phase, cv::gpu::DeviceInfo, cv::Size, AngleInDegrees)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    bool angleInDegrees = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, CV_32FC1);\r
-    fill(src1_host, -100.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, CV_32FC1);\r
-    fill(src2_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::phase(src1, src2, dst, angleInDegrees);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::phase(src1, src2, dst, angleInDegrees);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Phase, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<AngleInDegrees>(false, true)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// CartToPolar\r
-\r
-GPU_PERF_TEST(CartToPolar, cv::gpu::DeviceInfo, cv::Size, AngleInDegrees)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    bool angleInDegrees = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, CV_32FC1);\r
-    fill(src1_host, -100.0, 100.0);\r
-\r
-    cv::Mat src2_host(size, CV_32FC1);\r
-    fill(src2_host, -100.0, 100.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    cv::gpu::GpuMat magnitude;\r
-    cv::gpu::GpuMat angle;\r
-\r
-    cv::gpu::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, CartToPolar, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<AngleInDegrees>(false, true)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// PolarToCart\r
-\r
-GPU_PERF_TEST(PolarToCart, cv::gpu::DeviceInfo, cv::Size, AngleInDegrees)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    bool angleInDegrees = GET_PARAM(2);\r
-\r
-    cv::Mat magnitude_host(size, CV_32FC1);\r
-    fill(magnitude_host, 0.0, 100.0);\r
-\r
-    cv::Mat angle_host(size, CV_32FC1);\r
-    fill(angle_host, 0.0, angleInDegrees ? 360.0 : 2 * CV_PI);\r
-\r
-    cv::gpu::GpuMat magnitude(magnitude_host);\r
-    cv::gpu::GpuMat angle(angle_host);\r
-    cv::gpu::GpuMat x;\r
-    cv::gpu::GpuMat y;\r
-\r
-    cv::gpu::polarToCart(magnitude, angle, x, y, angleInDegrees);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::polarToCart(magnitude, angle, x, y, angleInDegrees);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, PolarToCart, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<AngleInDegrees>(false, true)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// MeanStdDev\r
-\r
-GPU_PERF_TEST(MeanStdDev, cv::gpu::DeviceInfo, cv::Size)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-\r
-    cv::Mat src_host(size, CV_8UC1);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar mean;\r
-    cv::Scalar stddev;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    cv::gpu::meanStdDev(src, mean, stddev, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::meanStdDev(src, mean, stddev, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, MeanStdDev, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Norm\r
-\r
-GPU_PERF_TEST(Norm, cv::gpu::DeviceInfo, cv::Size, MatDepth, NormType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int normType = GET_PARAM(3);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double dst;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    dst = cv::gpu::norm(src, normType, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::norm(src, normType, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Norm, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32S, CV_32F),\r
-    testing::Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// NormDiff\r
-\r
-GPU_PERF_TEST(NormDiff, cv::gpu::DeviceInfo, cv::Size, NormType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int normType = GET_PARAM(2);\r
-\r
-    cv::Mat src1_host(size, CV_8UC1);\r
-    fill(src1_host, 0.0, 255.0);\r
-\r
-    cv::Mat src2_host(size, CV_8UC1);\r
-    fill(src2_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src1(src1_host);\r
-    cv::gpu::GpuMat src2(src2_host);\r
-    double dst;\r
-\r
-    dst = cv::gpu::norm(src1, src2, normType);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::norm(src1, src2, normType);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, NormDiff, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values(NormType(cv::NORM_INF), NormType(cv::NORM_L1), NormType(cv::NORM_L2))));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Sum\r
-\r
-GPU_PERF_TEST(Sum, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar dst;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    dst = cv::gpu::sum(src, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::sum(src, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Sum, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Sum_Abs\r
-\r
-GPU_PERF_TEST(Sum_Abs, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar dst;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    dst = cv::gpu::absSum(src, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::absSum(src, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Sum_Abs, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Sum_Sqr\r
-\r
-GPU_PERF_TEST(Sum_Sqr, cv::gpu::DeviceInfo, cv::Size, MatType)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int type = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::Scalar dst;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    dst = cv::gpu::sqrSum(src, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::sqrSum(src, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Sum_Sqr, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatType>(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// MinMax\r
-\r
-GPU_PERF_TEST(MinMax, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double minVal, maxVal;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    cv::gpu::minMax(src, &minVal, &maxVal, cv::gpu::GpuMat(), buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::minMax(src, &minVal, &maxVal, cv::gpu::GpuMat(), buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, MinMax, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// MinMaxLoc\r
-\r
-GPU_PERF_TEST(MinMaxLoc, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 255.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    double minVal, maxVal;\r
-    cv::Point minLoc, maxLoc;\r
-    cv::gpu::GpuMat valbuf, locbuf;\r
-\r
-    cv::gpu::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc, cv::gpu::GpuMat(), valbuf, locbuf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc, cv::gpu::GpuMat(), valbuf, locbuf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, MinMaxLoc, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// CountNonZero\r
-\r
-GPU_PERF_TEST(CountNonZero, cv::gpu::DeviceInfo, cv::Size, MatDepth)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-\r
-    cv::Mat src_host(size, depth);\r
-    fill(src_host, 0.0, 1.5);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    int dst;\r
-    cv::gpu::GpuMat buf;\r
-\r
-    dst = cv::gpu::countNonZero(src, buf);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        dst = cv::gpu::countNonZero(src, buf);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, CountNonZero, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_32F, CV_64F)));\r
-\r
-//////////////////////////////////////////////////////////////////////\r
-// Reduce\r
-\r
-CV_ENUM(ReduceCode, CV_REDUCE_SUM, CV_REDUCE_AVG, CV_REDUCE_MAX, CV_REDUCE_MIN)\r
-#define ALL_REDUCE_CODES testing::Values<ReduceCode>(CV_REDUCE_SUM, CV_REDUCE_AVG, CV_REDUCE_MAX, CV_REDUCE_MIN)\r
-\r
-enum {Rows = 0, Cols = 1};\r
-CV_ENUM(ReduceDim, Rows, Cols)\r
-\r
-GPU_PERF_TEST(Reduce, cv::gpu::DeviceInfo, cv::Size, MatDepth, Channels, ReduceCode, ReduceDim)\r
-{\r
-    cv::gpu::DeviceInfo devInfo = GET_PARAM(0);\r
-    cv::gpu::setDevice(devInfo.deviceID());\r
-\r
-    cv::Size size = GET_PARAM(1);\r
-    int depth = GET_PARAM(2);\r
-    int channels = GET_PARAM(3);\r
-    int reduceOp = GET_PARAM(4);\r
-    int dim = GET_PARAM(5);\r
-\r
-    int type = CV_MAKE_TYPE(depth, channels);\r
-\r
-    cv::Mat src_host(size, type);\r
-    fill(src_host, 0.0, 10.0);\r
-\r
-    cv::gpu::GpuMat src(src_host);\r
-    cv::gpu::GpuMat dst;\r
-\r
-    cv::gpu::reduce(src, dst, dim, reduceOp);\r
-\r
-    TEST_CYCLE()\r
-    {\r
-        cv::gpu::reduce(src, dst, dim, reduceOp);\r
-    }\r
-}\r
-\r
-INSTANTIATE_TEST_CASE_P(Core, Reduce, testing::Combine(\r
-    ALL_DEVICES,\r
-    GPU_TYPICAL_MAT_SIZES,\r
-    testing::Values<MatDepth>(CV_8U, CV_16U, CV_16S, CV_32F),\r
-    testing::Values<Channels>(1, 2, 3, 4),\r
-    ALL_REDUCE_CODES,\r
-    testing::Values(ReduceDim(Rows), ReduceDim(Cols))));\r
-\r
-#endif\r