mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 19:20:28 +08:00
Merge pull request #1020 from SpecLad:tests-record-more
This commit is contained in:
commit
dd23a3c227
@ -50,6 +50,8 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "cvconfig.h"
|
||||
|
||||
#if defined WIN32 || defined _WIN32
|
||||
# ifndef WIN32
|
||||
# define WIN32
|
||||
@ -184,6 +186,30 @@ CV_INLINE IppiSize ippiSize(int width, int height)
|
||||
# include "opencv2/core/eigen.hpp"
|
||||
#endif
|
||||
|
||||
#ifdef _OPENMP
|
||||
# define HAVE_OPENMP
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
# define HAVE_GCD
|
||||
#endif
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER >= 1600
|
||||
# define HAVE_CONCURRENCY
|
||||
#endif
|
||||
|
||||
#if defined HAVE_TBB && TBB_VERSION_MAJOR*100 + TBB_VERSION_MINOR >= 202
|
||||
# define CV_PARALLEL_FRAMEWORK "tbb"
|
||||
#elif defined HAVE_CSTRIPES
|
||||
# define CV_PARALLEL_FRAMEWORK "cstripes"
|
||||
#elif defined HAVE_OPENMP
|
||||
# define CV_PARALLEL_FRAMEWORK "openmp"
|
||||
#elif defined HAVE_GCD
|
||||
# define CV_PARALLEL_FRAMEWORK "gcd"
|
||||
#elif defined HAVE_CONCURRENCY
|
||||
# define CV_PARALLEL_FRAMEWORK "ms-concurrency"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
namespace cv
|
||||
|
@ -61,17 +61,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _OPENMP
|
||||
#define HAVE_OPENMP
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#define HAVE_GCD
|
||||
#endif
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER >= 1600
|
||||
#define HAVE_CONCURRENCY
|
||||
#endif
|
||||
|
||||
/* IMPORTANT: always use the same order of defines
|
||||
1. HAVE_TBB - 3rdparty library, should be explicitly enabled
|
||||
@ -110,10 +99,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined HAVE_TBB || defined HAVE_CSTRIPES || defined HAVE_OPENMP || defined HAVE_GCD || defined HAVE_CONCURRENCY
|
||||
#define HAVE_PARALLEL_FRAMEWORK
|
||||
#endif
|
||||
|
||||
namespace cv
|
||||
{
|
||||
ParallelLoopBody::~ParallelLoopBody() {}
|
||||
@ -121,7 +106,7 @@ namespace cv
|
||||
|
||||
namespace
|
||||
{
|
||||
#ifdef HAVE_PARALLEL_FRAMEWORK
|
||||
#ifdef CV_PARALLEL_FRAMEWORK
|
||||
class ParallelLoopBodyWrapper
|
||||
{
|
||||
public:
|
||||
@ -218,7 +203,7 @@ public:
|
||||
static SchedPtr pplScheduler;
|
||||
#endif
|
||||
|
||||
#endif // HAVE_PARALLEL_FRAMEWORK
|
||||
#endif // CV_PARALLEL_FRAMEWORK
|
||||
|
||||
} //namespace
|
||||
|
||||
@ -226,7 +211,7 @@ static SchedPtr pplScheduler;
|
||||
|
||||
void cv::parallel_for_(const cv::Range& range, const cv::ParallelLoopBody& body, double nstripes)
|
||||
{
|
||||
#ifdef HAVE_PARALLEL_FRAMEWORK
|
||||
#ifdef CV_PARALLEL_FRAMEWORK
|
||||
|
||||
if(numThreads != 0)
|
||||
{
|
||||
@ -281,7 +266,7 @@ void cv::parallel_for_(const cv::Range& range, const cv::ParallelLoopBody& body,
|
||||
}
|
||||
else
|
||||
|
||||
#endif // HAVE_PARALLEL_FRAMEWORK
|
||||
#endif // CV_PARALLEL_FRAMEWORK
|
||||
{
|
||||
(void)nstripes;
|
||||
body(range);
|
||||
@ -290,7 +275,7 @@ void cv::parallel_for_(const cv::Range& range, const cv::ParallelLoopBody& body,
|
||||
|
||||
int cv::getNumThreads(void)
|
||||
{
|
||||
#ifdef HAVE_PARALLEL_FRAMEWORK
|
||||
#ifdef CV_PARALLEL_FRAMEWORK
|
||||
|
||||
if(numThreads == 0)
|
||||
return 1;
|
||||
@ -333,7 +318,7 @@ int cv::getNumThreads(void)
|
||||
void cv::setNumThreads( int threads )
|
||||
{
|
||||
(void)threads;
|
||||
#ifdef HAVE_PARALLEL_FRAMEWORK
|
||||
#ifdef CV_PARALLEL_FRAMEWORK
|
||||
numThreads = threads;
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
#include "opencv2/core/core.hpp"
|
||||
#include "opencv2/core/core_c.h"
|
||||
#include "opencv2/core/internal.hpp"
|
||||
#include "opencv2/ts/ts.hpp"
|
||||
|
||||
#ifdef GTEST_LINKED_AS_SHARED_LIBRARY
|
||||
|
@ -2,6 +2,10 @@
|
||||
#include <float.h>
|
||||
#include <limits.h>
|
||||
|
||||
#ifdef HAVE_TEGRA_OPTIMIZATION
|
||||
#include "tegra.hpp"
|
||||
#endif
|
||||
|
||||
using namespace cv;
|
||||
|
||||
namespace cvtest
|
||||
@ -2958,6 +2962,52 @@ void printVersionInfo(bool useStdOut)
|
||||
::testing::Test::RecordProperty("inner_version", ver);
|
||||
if(useStdOut) std::cout << ver << std::endl;
|
||||
}
|
||||
|
||||
#ifdef CV_PARALLEL_FRAMEWORK
|
||||
::testing::Test::RecordProperty("cv_parallel_framework", CV_PARALLEL_FRAMEWORK);
|
||||
if (useStdOut)
|
||||
{
|
||||
std::cout << "Parallel framework: " << CV_PARALLEL_FRAMEWORK << std::endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
std::string cpu_features;
|
||||
|
||||
#if CV_SSE
|
||||
if (checkHardwareSupport(CV_CPU_SSE)) cpu_features += " sse";
|
||||
#endif
|
||||
#if CV_SSE2
|
||||
if (checkHardwareSupport(CV_CPU_SSE2)) cpu_features += " sse2";
|
||||
#endif
|
||||
#if CV_SSE3
|
||||
if (checkHardwareSupport(CV_CPU_SSE3)) cpu_features += " sse3";
|
||||
#endif
|
||||
#if CV_SSSE3
|
||||
if (checkHardwareSupport(CV_CPU_SSSE3)) cpu_features += " ssse3";
|
||||
#endif
|
||||
#if CV_SSE4_1
|
||||
if (checkHardwareSupport(CV_CPU_SSE4_1)) cpu_features += " sse4.1";
|
||||
#endif
|
||||
#if CV_SSE4_2
|
||||
if (checkHardwareSupport(CV_CPU_SSE4_2)) cpu_features += " sse4.2";
|
||||
#endif
|
||||
#if CV_AVX
|
||||
if (checkHardwareSupport(CV_CPU_AVX)) cpu_features += " avx";
|
||||
#endif
|
||||
#if CV_NEON
|
||||
cpu_features += " neon"; // NEON is currently not checked at runtime
|
||||
#endif
|
||||
|
||||
cpu_features.erase(0, 1); // erase initial space
|
||||
|
||||
::testing::Test::RecordProperty("cv_cpu_features", cpu_features);
|
||||
if (useStdOut) std::cout << "CPU features: " << cpu_features << std::endl;
|
||||
|
||||
#ifdef HAVE_TEGRA_OPTIMIZATION
|
||||
const char * tegra_optimization = tegra::isDeviceSupported() ? "enabled" : "disabled";
|
||||
::testing::Test::RecordProperty("cv_tegra_optimization", tegra_optimization);
|
||||
if (useStdOut) std::cout << "Tegra optimization: " << tegra_optimization << std::endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
} //namespace cvtest
|
||||
|
Loading…
Reference in New Issue
Block a user