|
|
|
#include "perf_precomp.hpp"
|
|
|
|
#include "opencv2/ts/gpu_perf.hpp"
|
|
|
|
|
|
|
|
static const char * impls[] = {
|
|
|
|
#ifdef HAVE_CUDA
|
|
|
|
"cuda",
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_OPENCV_OCL
|
|
|
|
"ocl",
|
|
|
|
#endif
|
|
|
|
"plain"
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef HAVE_OPENCL
|
|
|
|
#define DUMP_PROPERTY_XML(propertyName, propertyValue) \
|
|
|
|
do { \
|
|
|
|
std::stringstream ssName, ssValue;\
|
|
|
|
ssName << propertyName;\
|
|
|
|
ssValue << propertyValue; \
|
|
|
|
::testing::Test::RecordProperty(ssName.str(), ssValue.str()); \
|
|
|
|
} while (false)
|
|
|
|
|
|
|
|
#define DUMP_MESSAGE_STDOUT(msg) \
|
|
|
|
do { \
|
|
|
|
std::cout << msg << std::endl; \
|
|
|
|
} while (false)
|
|
|
|
|
|
|
|
#include "opencv2/ocl/private/opencl_dumpinfo.hpp"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
int main(int argc, char **argv)
|
|
|
|
{
|
|
|
|
::perf::TestBase::setPerformanceStrategy(::perf::PERF_STRATEGY_SIMPLE);
|
|
|
|
#if defined(HAVE_CUDA) && defined(HAVE_OPENCL)
|
|
|
|
CV_PERF_TEST_MAIN_INTERNALS(nonfree, impls, perf::printCudaInfo(), dumpOpenCLDevice());
|
|
|
|
#elif defined(HAVE_CUDA)
|
|
|
|
CV_PERF_TEST_MAIN_INTERNALS(nonfree, impls, perf::printCudaInfo());
|
|
|
|
#elif defined(HAVE_OPENCL)
|
|
|
|
CV_PERF_TEST_MAIN_INTERNALS(nonfree, impls, dumpOpenCLDevice());
|
|
|
|
#else
|
|
|
|
CV_PERF_TEST_MAIN_INTERNALS(nonfree, impls)
|
|
|
|
#endif
|
|
|
|
}
|