From: vbystricky Date: Thu, 3 Jul 2014 11:50:56 +0000 (+0400) Subject: Change groups count for Intel X-Git-Tag: submit/tizen_ivi/20141117.190038~2^2~288^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=690c932d7f536b971879f8d901543843b2d13ac8;p=profile%2Fivi%2Fopencv.git Change groups count for Intel --- diff --git a/modules/core/src/stat.cpp b/modules/core/src/stat.cpp index 3dd0428..48d8590 100644 --- a/modules/core/src/stat.cpp +++ b/modules/core/src/stat.cpp @@ -918,8 +918,14 @@ static bool ocl_meanStdDev( InputArray _src, OutputArray _mean, OutputArray _sdv int type = _src.type(), depth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type); bool doubleSupport = ocl::Device::getDefault().doubleFPConfig() > 0, isContinuous = _src.isContinuous(); - int groups = ocl::Device::getDefault().maxComputeUnits(); - size_t wgs = ocl::Device::getDefault().maxWorkGroupSize(); + const ocl::Device &defDev = ocl::Device::getDefault(); + int groups = defDev.maxComputeUnits(); + if (defDev.isIntel()) + { + static const int subSliceEUCount = 10; + groups = (groups / subSliceEUCount) * 2; + } + size_t wgs = defDev.maxWorkGroupSize(); int ddepth = std::max(CV_32S, depth), sqddepth = std::max(CV_32F, depth), dtype = CV_MAKE_TYPE(ddepth, cn),