This commit is contained in:
Konstantin Matskevich 2014-01-24 14:01:31 +04:00
parent f90e41d54e
commit ae827a638c
3 changed files with 21 additions and 21 deletions

View File

@ -59,7 +59,7 @@ class CV_EXPORTS Kernel;
class CV_EXPORTS Program; class CV_EXPORTS Program;
class CV_EXPORTS ProgramSource2; class CV_EXPORTS ProgramSource2;
class CV_EXPORTS Queue; class CV_EXPORTS Queue;
class CV_EXPORTS PlatformInform; class CV_EXPORTS PlatformInfo2;
class CV_EXPORTS Device class CV_EXPORTS Device
{ {
@ -551,12 +551,12 @@ protected:
Impl* p; Impl* p;
}; };
class CV_EXPORTS PlatformInform class CV_EXPORTS PlatformInfo2
{ {
public: public:
PlatformInform(); PlatformInfo2();
explicit PlatformInform(void* id); explicit PlatformInfo2(void* id);
~PlatformInform(); ~PlatformInfo2();
String name() const; String name() const;
String vendor() const; String vendor() const;
@ -572,7 +572,7 @@ protected:
CV_EXPORTS const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf); CV_EXPORTS const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf);
CV_EXPORTS const char* typeToStr(int t); CV_EXPORTS const char* typeToStr(int t);
CV_EXPORTS const char* memopTypeToStr(int t); CV_EXPORTS const char* memopTypeToStr(int t);
CV_EXPORTS void getPlatfomsInfo(std::vector<PlatformInform>& platform_info); CV_EXPORTS void getPlatfomsInfo(std::vector<PlatformInfo2>& platform_info);
}} }}

View File

@ -3640,7 +3640,7 @@ static void getDevices(std::vector<cl_device_id>& devices,cl_platform_id& platfo
devices.resize(numDevices); devices.resize(numDevices);
} }
struct PlatformInform::Impl struct PlatformInfo2::Impl
{ {
Impl(void* id) Impl(void* id)
{ {
@ -3661,45 +3661,45 @@ struct PlatformInform::Impl
cl_platform_id handle; cl_platform_id handle;
}; };
PlatformInform::PlatformInform() PlatformInfo2::PlatformInfo2()
{ {
p = 0; p = 0;
} }
PlatformInform::PlatformInform(void* platform_id) PlatformInfo2::PlatformInfo2(void* platform_id)
{ {
p = new Impl(platform_id); p = new Impl(platform_id);
} }
PlatformInform::~PlatformInform() PlatformInfo2::~PlatformInfo2()
{ {
if(p) if(p)
p->release(); p->release();
} }
int PlatformInform::deviceNumber() const int PlatformInfo2::deviceNumber() const
{ {
return p ? (int)p->devices.size() : 0; return p ? (int)p->devices.size() : 0;
} }
void PlatformInform::getDevice(Device& device, int d) const void PlatformInfo2::getDevice(Device& device, int d) const
{ {
CV_Assert(d < (int)p->devices.size() ); CV_Assert(d < (int)p->devices.size() );
if(p) if(p)
device.set(p->devices[d]); device.set(p->devices[d]);
} }
String PlatformInform::name() const String PlatformInfo2::name() const
{ {
return p ? p->getStrProp(CL_PLATFORM_NAME) : String(); return p ? p->getStrProp(CL_PLATFORM_NAME) : String();
} }
String PlatformInform::vendor() const String PlatformInfo2::vendor() const
{ {
return p ? p->getStrProp(CL_PLATFORM_VENDOR) : String(); return p ? p->getStrProp(CL_PLATFORM_VENDOR) : String();
} }
String PlatformInform::version() const String PlatformInfo2::version() const
{ {
return p ? p->getStrProp(CL_PLATFORM_VERSION) : String(); return p ? p->getStrProp(CL_PLATFORM_VERSION) : String();
} }
@ -3718,13 +3718,13 @@ static void getPlatforms(std::vector<cl_platform_id>& platforms)
platforms.resize(numPlatforms); platforms.resize(numPlatforms);
} }
void getPlatfomsInfo(std::vector<PlatformInform>& platformsInfo) void getPlatfomsInfo(std::vector<PlatformInfo2>& platformsInfo)
{ {
std::vector<cl_platform_id> platforms; std::vector<cl_platform_id> platforms;
getPlatforms(platforms); getPlatforms(platforms);
for (size_t i = 0; i < platforms.size(); i++) for (size_t i = 0; i < platforms.size(); i++)
{ {
platformsInfo.push_back( PlatformInform((void*)&platforms[i]) ); platformsInfo.push_back( PlatformInfo2((void*)&platforms[i]) );
} }
} }

View File

@ -98,21 +98,21 @@ void dumpOpenCLDevice()
using namespace cv::ocl; using namespace cv::ocl;
try try
{ {
std::vector<PlatformInform> platforms; std::vector<PlatformInfo2> platforms;
cv::ocl::getPlatfomsInfo(platforms); cv::ocl::getPlatfomsInfo(platforms);
if (platforms.size() > 0) if (platforms.size() > 0)
{ {
DUMP_MESSAGE_STDOUT("OpenCL Platforms: "); DUMP_MESSAGE_STDOUT("OpenCL Platforms: ");
for (size_t i = 0; i < platforms.size(); i++) for (size_t i = 0; i < platforms.size(); i++)
{ {
const PlatformInform* platform = &platforms[i]; const PlatformInfo2* platform = &platforms[i];
DUMP_MESSAGE_STDOUT(" " << platform->name().c_str()); DUMP_MESSAGE_STDOUT(" " << platform->name().c_str());
Device current_device; Device current_device;
for (int j = 0; j < platform->deviceNumber(); j++) for (int j = 0; j < platform->deviceNumber(); j++)
{ {
platform->getDevice(current_device, j); platform->getDevice(current_device, j);
const char* deviceTypeStr = current_device.type() == Device::TYPE_CPU 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_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 ), DUMP_PROPERTY_XML( cv::format("cv_ocl_platform_%d_device_%d", (int)i, (int)j ),
cv::format("(Platform=%sType=%sName=%sVersion=%s", cv::format("(Platform=%sType=%sName=%sVersion=%s",
@ -136,7 +136,7 @@ void dumpOpenCLDevice()
#endif #endif
const char* deviceTypeStr = device.type() == Device::TYPE_CPU 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_MESSAGE_STDOUT(" Type = "<< deviceTypeStr);
DUMP_PROPERTY_XML("cv_ocl_current_deviceType", deviceTypeStr); DUMP_PROPERTY_XML("cv_ocl_current_deviceType", deviceTypeStr);