cl_platform_id oclplatform;
std::vector<cl_device_id> devices;
std::vector<String> devName;
-
+ String platName;
cl_context oclcontext;
cl_command_queue clCmdQueue;
int devnum;
std::vector<cl_platform_id> platforms(numPlatforms);
openCLSafeCall(clGetPlatformIDs(numPlatforms, &platforms[0], 0));
- char deviceName[256];
int devcienums = 0;
+
+ const static int max_name_length = 256;
+ char deviceName[max_name_length];
+ char plfmName[max_name_length];
for (unsigned i = 0; i < numPlatforms; ++i)
{
+
cl_uint numsdev;
cl_int status = clGetDeviceIDs(platforms[i], devicetype, 0, NULL, &numsdev);
if(status != CL_DEVICE_NOT_FOUND)
openCLSafeCall(clGetDeviceIDs(platforms[i], devicetype, numsdev, &devices[0], 0));
Info ocltmpinfo;
+ openCLSafeCall(clGetPlatformInfo(platforms[i], CL_PLATFORM_VENDOR, sizeof(plfmName), plfmName, NULL));
+ ocltmpinfo.PlatformName = String(plfmName);
+ ocltmpinfo.impl->platName = String(plfmName);
ocltmpinfo.impl->oclplatform = platforms[i];
for(unsigned j = 0; j < numsdev; ++j)
{
impl->release();
impl = new Impl;
DeviceName.clear();
+ PlatformName.clear();
}
Info::~Info()
impl->release();
impl = m.impl->copy();
DeviceName = m.DeviceName;
+ PlatformName = m.PlatformName;
return *this;
}
{
impl = m.impl->copy();
DeviceName = m.DeviceName;
+ PlatformName = m.PlatformName;
}
}//namespace ocl