bool InitOCL(const unsigned int oclPlatformID, const unsigned int oclDeviceID, OCLHelper& oclHelper, std::ostringstream& msg) { bool res = true; vector<string> info; res = oclHelper.GetPlatformsInfo(info, "\t\t"); if (!res) return res; const size_t numPlatforms = info.size(); msg << "\t Number of OpenCL platforms: " << numPlatforms << endl; for (size_t i = 0; i < numPlatforms; ++i) { msg << "\t OpenCL platform [" << i << "]" << endl; msg << info[i]; } msg << "\t Using OpenCL platform [" << oclPlatformID << "]" << endl; res = oclHelper.InitPlatform(oclPlatformID); if (!res) return res; info.clear(); res = oclHelper.GetDevicesInfo(info, "\t\t"); if (!res) return res; const size_t numDevices = info.size(); msg << "\t Number of OpenCL devices: " << numDevices << endl; for (size_t i = 0; i < numDevices; ++i) { msg << "\t OpenCL device [" << i << "]" << endl; msg << info[i]; } msg << "\t Using OpenCL device [" << oclDeviceID << "]" << endl; res = oclHelper.InitDevice(oclDeviceID); return res; }