GPU_PERF_TEST(MulAndScaleSpectrums, cv::gpu::DeviceInfo, cv::Size) { cv::gpu::DeviceInfo devInfo = GET_PARAM(0); cv::gpu::setDevice(devInfo.deviceID()); cv::Size size = GET_PARAM(1); float scale = 1.f / size.area(); cv::Mat src1_host(size, CV_32FC2); fill(src1_host, 0, 100); cv::Mat src2_host(size, CV_32FC2); fill(src2_host, 0, 100); cv::gpu::GpuMat src1(src1_host); cv::gpu::GpuMat src2(src2_host); cv::gpu::GpuMat dst; cv::gpu::mulAndScaleSpectrums(src1, src2, dst, cv::DFT_ROWS, scale, false); TEST_CYCLE() { cv::gpu::mulAndScaleSpectrums(src1, src2, dst, cv::DFT_ROWS, scale, false); } }
GPU_PERF_TEST(GEMM, cv::gpu::DeviceInfo, cv::Size) { cv::gpu::DeviceInfo devInfo = GET_PARAM(0); cv::Size size = GET_PARAM(1); cv::gpu::setDevice(devInfo.deviceID()); cv::Mat src1_host(size, CV_32FC1); cv::Mat src2_host(size, CV_32FC1); cv::Mat src3_host(size, CV_32FC1); fill(src1_host, 0.0, 10.0); fill(src2_host, 0.0, 10.0); fill(src3_host, 0.0, 10.0); cv::gpu::GpuMat src1(src1_host); cv::gpu::GpuMat src2(src2_host); cv::gpu::GpuMat src3(src3_host); cv::gpu::GpuMat dst; declare.time(5.0); TEST_CYCLE() { cv::gpu::gemm(src1, src2, 1.0, src3, 1.0, dst); } }
GPU_PERF_TEST(AddWeighted, cv::gpu::DeviceInfo, cv::Size, perf::MatType) { cv::gpu::DeviceInfo devInfo = GET_PARAM(0); cv::Size size = GET_PARAM(1); int type = GET_PARAM(2); cv::gpu::setDevice(devInfo.deviceID()); cv::Mat src1_host(size, type); cv::Mat src2_host(size, type); fill(src1_host, 0.0, 100.0); fill(src2_host, 0.0, 100.0); cv::gpu::GpuMat src1(src1_host); cv::gpu::GpuMat src2(src2_host); cv::gpu::GpuMat dst; TEST_CYCLE() { cv::gpu::addWeighted(src1, 0.5, src2, 0.5, 0.0, dst); } cv::Mat dst_host(dst); }
GPU_PERF_TEST(NormDiff, cv::gpu::DeviceInfo, cv::Size, NormType) { cv::gpu::DeviceInfo devInfo = GET_PARAM(0); cv::Size size = GET_PARAM(1); int normType = GET_PARAM(2); cv::gpu::setDevice(devInfo.deviceID()); cv::Mat src1_host(size, CV_8UC1); cv::Mat src2_host(size, CV_8UC1); declare.in(src1_host, src2_host, WARMUP_RNG); cv::gpu::GpuMat src1(src1_host); cv::gpu::GpuMat src2(src2_host); double dst; TEST_CYCLE() { dst = cv::gpu::norm(src1, src2, normType); } }
GPU_PERF_TEST(Min, cv::gpu::DeviceInfo, cv::Size, perf::MatType) { cv::gpu::DeviceInfo devInfo = GET_PARAM(0); cv::Size size = GET_PARAM(1); int type = GET_PARAM(2); cv::gpu::setDevice(devInfo.deviceID()); cv::Mat src1_host(size, type); cv::Mat src2_host(size, type); declare.in(src1_host, src2_host, WARMUP_RNG); cv::gpu::GpuMat src1(src1_host); cv::gpu::GpuMat src2(src2_host); cv::gpu::GpuMat dst(size, type); TEST_CYCLE() { cv::gpu::min(src1, src2, dst); } }