Merge pull request #2190 from KonstantinMatskevich:ocl_dumpinfo
This commit is contained in:
@@ -510,6 +510,15 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_OPENCL) && !defined(CV_BUILD_OCL_MODULE)
|
||||
namespace cvtest { namespace ocl {
|
||||
void dumpOpenCLDevice();
|
||||
}}
|
||||
#define TEST_DUMP_OCL_INFO cvtest::ocl::dumpOpenCLDevice();
|
||||
#else
|
||||
#define TEST_DUMP_OCL_INFO
|
||||
#endif
|
||||
|
||||
#define CV_PERF_TEST_MAIN_INTERNALS(modulename, impls, ...) \
|
||||
::perf::Regression::Init(#modulename); \
|
||||
::perf::TestBase::Init(std::vector<std::string>(impls, impls + sizeof impls / sizeof *impls), \
|
||||
@@ -519,6 +528,7 @@ CV_EXPORTS void PrintTo(const Size& sz, ::std::ostream* os);
|
||||
::testing::Test::RecordProperty("cv_module_name", #modulename); \
|
||||
::perf::TestBase::RecordRunParameters(); \
|
||||
__CV_TEST_EXEC_ARGS(__VA_ARGS__) \
|
||||
TEST_DUMP_OCL_INFO \
|
||||
return RUN_ALL_TESTS();
|
||||
|
||||
// impls must be an array, not a pointer; "plain" should always be one of the implementations
|
||||
|
@@ -98,28 +98,25 @@ void dumpOpenCLDevice()
|
||||
using namespace cv::ocl;
|
||||
try
|
||||
{
|
||||
#if 0
|
||||
Platforms platforms;
|
||||
getOpenCLPlatforms(platforms);
|
||||
std::vector<PlatformInfo2> platforms;
|
||||
cv::ocl::getPlatfomsInfo(platforms);
|
||||
if (platforms.size() > 0)
|
||||
{
|
||||
DUMP_MESSAGE_STDOUT("OpenCL Platforms: ");
|
||||
for (size_t i = 0; i < platforms.size(); i++)
|
||||
{
|
||||
const Platform* platform = platforms.at(i);
|
||||
const PlatformInfo2* platform = &platforms[i];
|
||||
DUMP_MESSAGE_STDOUT(" " << platform->name().c_str());
|
||||
const Devices& devices = platform->devices();
|
||||
for (size_t j = 0; j < devices.size(); j++)
|
||||
Device current_device;
|
||||
for (int j = 0; j < platform->deviceNumber(); j++)
|
||||
{
|
||||
const Device& current_device = *devices.at(j);
|
||||
platform->getDevice(current_device, j);
|
||||
const char* deviceTypeStr = current_device.type() == Device::TYPE_CPU
|
||||
? ("CPU") : (current_device.type() == Device::TYPE_GPU ? "GPU" : "unknown");
|
||||
? ("CPU") : (current_device.type() == Device::TYPE_GPU ? current_device.hostUnifiedMemory() ? "iGPU" : "dGPU" : "unknown");
|
||||
DUMP_MESSAGE_STDOUT( " " << deviceTypeStr << ": " << current_device.name().c_str() << " (" << current_device.version().c_str() << ")");
|
||||
DUMP_PROPERTY_XML(cv::format("cv_ocl_platform_%d_device_%d", (int)i, (int)j),
|
||||
"(Platform=" << current_device.getPlatform().name().c_str()
|
||||
<< ")(Type=" << deviceTypeStr
|
||||
<< ")(Name=" << current_device.name().c_str()
|
||||
<< ")(Version=" << current_device.version().c_str() << ")");
|
||||
DUMP_PROPERTY_XML( cv::format("cv_ocl_platform_%d_device_%d", (int)i, (int)j ),
|
||||
cv::format("(Platform=%s)(Type=%s)(Name=%s)(Version=%s)",
|
||||
platform->name().c_str(), deviceTypeStr, current_device.name().c_str(), current_device.version().c_str()) );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -129,10 +126,9 @@ void dumpOpenCLDevice()
|
||||
DUMP_PROPERTY_XML("cv_ocl", "not available");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
DUMP_MESSAGE_STDOUT("Current OpenCL device: ");
|
||||
|
||||
const Device& device = Device::getDefault();
|
||||
DUMP_MESSAGE_STDOUT("Current OpenCL device: ");
|
||||
|
||||
#if 0
|
||||
DUMP_MESSAGE_STDOUT(" Platform = "<< device.getPlatform().name());
|
||||
@@ -140,17 +136,15 @@ void dumpOpenCLDevice()
|
||||
#endif
|
||||
|
||||
const char* deviceTypeStr = device.type() == Device::TYPE_CPU
|
||||
? "CPU" : (device.type() == Device::TYPE_GPU ? "GPU" : "unknown");
|
||||
? ("CPU") : (device.type() == Device::TYPE_GPU ? device.hostUnifiedMemory() ? "iGPU" : "dGPU" : "unknown");
|
||||
DUMP_MESSAGE_STDOUT(" Type = "<< deviceTypeStr);
|
||||
DUMP_PROPERTY_XML("cv_ocl_current_deviceType", deviceTypeStr);
|
||||
|
||||
DUMP_MESSAGE_STDOUT(" Name = "<< device.name());
|
||||
DUMP_PROPERTY_XML("cv_ocl_current_deviceName", device.name());
|
||||
|
||||
#if 0
|
||||
DUMP_MESSAGE_STDOUT(" Version = " << device.version());
|
||||
DUMP_PROPERTY_XML("cv_ocl_current_deviceVersion", device.version());
|
||||
#endif
|
||||
|
||||
DUMP_MESSAGE_STDOUT(" Compute units = "<< device.maxComputeUnits());
|
||||
DUMP_PROPERTY_XML("cv_ocl_current_maxComputeUnits", device.maxComputeUnits());
|
||||
|
Reference in New Issue
Block a user