Commit be22891f authored by Anatoly Baksheev's avatar Anatoly Baksheev

added GPU_PERF_TESTP_P but haven't switched test to it (only perf4au app)

parent 3882bbbf
...@@ -75,8 +75,7 @@ int main(int argc, char* argv[]) ...@@ -75,8 +75,7 @@ int main(int argc, char* argv[])
DEF_PARAM_TEST_1(Image, std::string); DEF_PARAM_TEST_1(Image, std::string);
PERF_TEST_P(Image, HoughLinesP, GPU_PERF_TEST_P(Image, HoughLinesP, testing::Values(std::string("im1_1280x800.jpg")))
testing::Values(std::string("im1_1280x800.jpg")))
{ {
declare.time(30.0); declare.time(30.0);
...@@ -125,7 +124,7 @@ PERF_TEST_P(Image, HoughLinesP, ...@@ -125,7 +124,7 @@ PERF_TEST_P(Image, HoughLinesP,
DEF_PARAM_TEST(Image_Depth, std::string, perf::MatDepth); DEF_PARAM_TEST(Image_Depth, std::string, perf::MatDepth);
PERF_TEST_P(Image_Depth, GoodFeaturesToTrack, GPU_PERF_TEST_P(Image_Depth, GoodFeaturesToTrack,
testing::Combine( testing::Combine(
testing::Values(std::string("im1_1280x800.jpg")), testing::Values(std::string("im1_1280x800.jpg")),
testing::Values(CV_8U, CV_16U) testing::Values(CV_8U, CV_16U)
...@@ -193,7 +192,7 @@ typedef std::pair<std::string, std::string> string_pair; ...@@ -193,7 +192,7 @@ typedef std::pair<std::string, std::string> string_pair;
DEF_PARAM_TEST(ImagePair_Depth_GraySource, string_pair, perf::MatDepth, bool); DEF_PARAM_TEST(ImagePair_Depth_GraySource, string_pair, perf::MatDepth, bool);
PERF_TEST_P(ImagePair_Depth_GraySource, OpticalFlowPyrLKSparse, GPU_PERF_TEST_P(ImagePair_Depth_GraySource, OpticalFlowPyrLKSparse,
testing::Combine( testing::Combine(
testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")), testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")),
testing::Values(CV_8U, CV_16U), testing::Values(CV_8U, CV_16U),
...@@ -287,7 +286,7 @@ PERF_TEST_P(ImagePair_Depth_GraySource, OpticalFlowPyrLKSparse, ...@@ -287,7 +286,7 @@ PERF_TEST_P(ImagePair_Depth_GraySource, OpticalFlowPyrLKSparse,
DEF_PARAM_TEST(ImagePair_Depth, string_pair, perf::MatDepth); DEF_PARAM_TEST(ImagePair_Depth, string_pair, perf::MatDepth);
PERF_TEST_P(ImagePair_Depth, OpticalFlowFarneback, GPU_PERF_TEST_P(ImagePair_Depth, OpticalFlowFarneback,
testing::Combine( testing::Combine(
testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")), testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")),
testing::Values(CV_8U, CV_16U) testing::Values(CV_8U, CV_16U)
...@@ -384,7 +383,7 @@ void calcOpticalFlowBM(const cv::Mat& prev, const cv::Mat& curr, ...@@ -384,7 +383,7 @@ void calcOpticalFlowBM(const cv::Mat& prev, const cv::Mat& curr,
DEF_PARAM_TEST(ImagePair_BlockSize_ShiftSize_MaxRange, string_pair, cv::Size, cv::Size, cv::Size); DEF_PARAM_TEST(ImagePair_BlockSize_ShiftSize_MaxRange, string_pair, cv::Size, cv::Size, cv::Size);
PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM, GPU_PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM,
testing::Combine( testing::Combine(
testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")), testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")),
testing::Values(cv::Size(16, 16)), testing::Values(cv::Size(16, 16)),
...@@ -392,7 +391,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM, ...@@ -392,7 +391,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM,
testing::Values(cv::Size(16, 16)) testing::Values(cv::Size(16, 16))
)) ))
{ {
declare.time(1000); declare.time(3000);
const string_pair fileNames = std::tr1::get<0>(GetParam()); const string_pair fileNames = std::tr1::get<0>(GetParam());
const cv::Size block_size = std::tr1::get<1>(GetParam()); const cv::Size block_size = std::tr1::get<1>(GetParam());
...@@ -435,7 +434,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM, ...@@ -435,7 +434,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, OpticalFlowBM,
SANITY_CHECK(0); SANITY_CHECK(0);
} }
PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, FastOpticalFlowBM, GPU_PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, FastOpticalFlowBM,
testing::Combine( testing::Combine(
testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")), testing::Values(string_pair("im1_1280x800.jpg", "im2_1280x800.jpg")),
testing::Values(cv::Size(16, 16)), testing::Values(cv::Size(16, 16)),
...@@ -443,7 +442,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, FastOpticalFlowBM, ...@@ -443,7 +442,7 @@ PERF_TEST_P(ImagePair_BlockSize_ShiftSize_MaxRange, FastOpticalFlowBM,
testing::Values(cv::Size(16, 16)) testing::Values(cv::Size(16, 16))
)) ))
{ {
declare.time(1000); declare.time(3000);
const string_pair fileNames = std::tr1::get<0>(GetParam()); const string_pair fileNames = std::tr1::get<0>(GetParam());
const cv::Size block_size = std::tr1::get<1>(GetParam()); const cv::Size block_size = std::tr1::get<1>(GetParam());
......
...@@ -210,7 +210,7 @@ namespace optflowbm_fast ...@@ -210,7 +210,7 @@ namespace optflowbm_fast
{ {
} }
__device__ void initSums_BruteForce(int i, int j, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const __device__ __forceinline__ void initSums_BruteForce(int i, int j, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const
{ {
for (int index = threadIdx.x; index < search_window * search_window; index += STRIDE) for (int index = threadIdx.x; index < search_window * search_window; index += STRIDE)
{ {
...@@ -246,7 +246,7 @@ namespace optflowbm_fast ...@@ -246,7 +246,7 @@ namespace optflowbm_fast
} }
} }
__device__ void shiftRight_FirstRow(int i, int j, int first, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const __device__ __forceinline__ void shiftRight_FirstRow(int i, int j, int first, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const
{ {
for (int index = threadIdx.x; index < search_window * search_window; index += STRIDE) for (int index = threadIdx.x; index < search_window * search_window; index += STRIDE)
{ {
...@@ -271,7 +271,7 @@ namespace optflowbm_fast ...@@ -271,7 +271,7 @@ namespace optflowbm_fast
} }
} }
__device__ void shiftRight_UpSums(int i, int j, int first, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const __device__ __forceinline__ void shiftRight_UpSums(int i, int j, int first, int* dist_sums, PtrStepi& col_sums, PtrStepi& up_col_sums) const
{ {
int ay = i; int ay = i;
int ax = j + block_radius; int ax = j + block_radius;
...@@ -298,7 +298,7 @@ namespace optflowbm_fast ...@@ -298,7 +298,7 @@ namespace optflowbm_fast
} }
} }
__device__ void convolve_window(int i, int j, const int* dist_sums, float& velx, float& vely) const __device__ __forceinline__ void convolve_window(int i, int j, const int* dist_sums, float& velx, float& vely) const
{ {
int bestDist = numeric_limits<int>::max(); int bestDist = numeric_limits<int>::max();
int bestInd = -1; int bestInd = -1;
...@@ -328,7 +328,7 @@ namespace optflowbm_fast ...@@ -328,7 +328,7 @@ namespace optflowbm_fast
} }
} }
__device__ void operator()(PtrStepf velx, PtrStepf vely) const __device__ __forceinline__ void operator()(PtrStepf velx, PtrStepf vely) const
{ {
int tbx = blockIdx.x * TILE_COLS; int tbx = blockIdx.x * TILE_COLS;
int tby = blockIdx.y * TILE_ROWS; int tby = blockIdx.y * TILE_ROWS;
......
...@@ -474,6 +474,21 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os); ...@@ -474,6 +474,21 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\ INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\
void fixture##_##name::PerfTestBody() void fixture##_##name::PerfTestBody()
#define GPU_PERF_TEST_P(fixture, name, params) \
class fixture##_##name : public fixture {\
public:\
fixture##_##name() {}\
protected:\
virtual void PerfTestBody();\
};\
TEST_P(fixture##_##name, name /*perf*/) \
{ \
try { RunPerfTestBody(); } \
catch (...) { cv::gpu::resetDevice(); throw; } \
} \
INSTANTIATE_TEST_CASE_P(/*none*/, fixture##_##name, params);\
void fixture##_##name::PerfTestBody()
#define CV_PERF_TEST_MAIN(testsuitname, ...) \ #define CV_PERF_TEST_MAIN(testsuitname, ...) \
int main(int argc, char **argv)\ int main(int argc, char **argv)\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment