1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 15:53:03 +04:00

Merge pull request #13070 from elatkin:el/gapi_perf_sobel

GAPI (fluid): optimization of Sobel 3x3 (#13070)

* GAPI: performance test for Sobel

* GAPI: performance test for Sobel w/FP32 input

* GAPI: Sobel speedup: 2.5x (U8) up to 10x (float)

* GAPI: Sobel 3x3 to support U8 into S16

* GAPI (fluid): Sobel 3x3 speedup: 10% (uchar), 1.5x (float)

* GAPI (fluid): Sobel 3x3 speedup: +10x (uchar), but -20% (float)

* GAPI (fluid): Sobel 3x3 speedup: +10% (float)

* GAPI (fluid): Sobel 3x3 speedup: +15% (float), +10% (uchar)

* GAPI (fluid): Sobel 3x3: address GCC warnings

* GAPI (fluid): Sobel 3x3: separate *.cpp file w/SIMD code

* GAPI (fluid): Sobel 3x3: fixed AVX2 code, AVX2 speedup 20-50% (uchar), 10-20% (float)

* GAPI (fluid): Sobel 3x3: fix CV_SIMD code for AVX2

* GAPI (fluid): Sobel 3x3: refactor
This commit is contained in:
Evgeny Latkin
2018-11-13 15:04:37 +03:00
committed by Alexander Alekhin
parent a456b968cf
commit 4e40e5bb88
10 changed files with 420 additions and 51 deletions
@@ -476,7 +476,7 @@ PERF_TEST_P_(SobelPerfTest, TestPerformance)
// G-API code //////////////////////////////////////////////////////////////
cv::GMat in;
auto out = cv::gapi::Sobel(in, dtype, dx, dy, kernSize );
auto out = cv::gapi::Sobel(in, dtype, dx, dy, kernSize);
cv::GComputation c(in, out);
// Warm-up graph engine:
@@ -484,7 +484,7 @@ PERF_TEST_P_(SobelPerfTest, TestPerformance)
TEST_CYCLE()
{
c.apply(in_mat1, out_mat_gapi, std::move(compile_args));
c.apply(in_mat1, out_mat_gapi);
}
// Comparison //////////////////////////////////////////////////////////////
@@ -494,7 +494,6 @@ PERF_TEST_P_(SobelPerfTest, TestPerformance)
}
SANITY_CHECK_NOTHING();
}
//------------------------------------------------------------------------------