From 3d36f9044dfff0b53b9414d7912baa4ca73dfd86 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 12 Mar 2020 16:35:14 +0300 Subject: [PATCH] opencv_version: dump threads information --- apps/version/opencv_version.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/apps/version/opencv_version.cpp b/apps/version/opencv_version.cpp index 8034f698c5..795c870fde 100644 --- a/apps/version/opencv_version.cpp +++ b/apps/version/opencv_version.cpp @@ -14,6 +14,11 @@ #include #endif +// defined in core/private.hpp +namespace cv { +CV_EXPORTS const char* currentParallelFramework(); +} + static void dumpHWFeatures(bool showAll = false) { std::cout << "OpenCV's HW features list:" << std::endl; @@ -34,6 +39,16 @@ static void dumpHWFeatures(bool showAll = false) std::cout << "Total available: " << count << std::endl; } +static void dumpParallelFramework() +{ + const char* parallelFramework = cv::currentParallelFramework(); + if (parallelFramework) + { + int threads = cv::getNumThreads(); + std::cout << "Parallel framework: " << parallelFramework << " (nthreads=" << threads << ")" << std::endl; + } +} + int main(int argc, const char** argv) { CV_TRACE_FUNCTION(); @@ -47,6 +62,7 @@ int main(int argc, const char** argv) "{ verbose v | | show build configuration log }" "{ opencl | | show information about OpenCL (available platforms/devices, default selected device) }" "{ hw | | show detected HW features (see cv::checkHardwareSupport() function). Use --hw=0 to show available features only }" + "{ threads | | show configured parallel framework and number of active threads }" ); if (parser.has("help")) @@ -73,10 +89,17 @@ int main(int argc, const char** argv) { dumpHWFeatures(parser.get("hw")); } + + if (parser.has("threads")) + { + dumpParallelFramework(); + } + #else std::cout << cv::getBuildInformation().c_str() << std::endl; cv::dumpOpenCLInformation(); dumpHWFeatures(); + dumpParallelFramework(); MessageBoxA(NULL, "Check console window output", "OpenCV(" CV_VERSION ")", MB_ICONINFORMATION | MB_OK); #endif