18 static void deleteInstance();
21 std::vector<OpenCLDevice::pointer> getAllDevices(
bool enableVisualization =
false);
22 std::vector<OpenCLDevice::pointer> getAllGPUDevices(
bool enableVisualization =
false);
23 std::vector<OpenCLDevice::pointer> getAllCPUDevices(
bool enableVisualization =
false);
30 std::vector<PlatformDevices> getDevices(
const DeviceCriteria &criteria);
31 std::vector<OpenCLDevice::pointer> getDevices(
DeviceCriteria criteria,
bool enableVisualization);
32 std::vector<cl::Platform> getPlatforms(
35 bool deviceSatisfiesCriteria(
const DeviceCriteria& criteria,
const cl::Device &device,
const cl::Platform &platform);
36 bool deviceHasOpenGLInteropCapability(
const cl::Device &device,
const cl::Platform &platform);
37 bool devicePlatformMismatch(
38 const cl::Device &device,
39 const cl::Platform &platform);
41 std::vector<cl::Device> getDevicesForBestPlatform(
43 std::vector<PlatformDevices> &platformDevices);
51 void sortDevicesAccordingToPreference(
52 int numberOfPlatforms,
53 int maxNumberOfDevices,
54 std::vector<PlatformDevices> platformDevices,
56 std::vector<cl::Device> * sortedPlatformDevices,
57 std::vector<int>& platformScores);
61 std::vector<cl::Platform> platforms;