| 256 | } |
| 257 | |
| 258 | CLVersion get_cl_version(const cl::Device &device) |
| 259 | { |
| 260 | std::string version_str = device.getInfo<CL_DEVICE_VERSION>(); |
| 261 | if (version_str.find("OpenCL 3") != std::string::npos) |
| 262 | { |
| 263 | return CLVersion::CL30; |
| 264 | } |
| 265 | else if (version_str.find("OpenCL 2") != std::string::npos) |
| 266 | { |
| 267 | return CLVersion::CL20; |
| 268 | } |
| 269 | else if (version_str.find("OpenCL 1.2") != std::string::npos) |
| 270 | { |
| 271 | return CLVersion::CL12; |
| 272 | } |
| 273 | else if (version_str.find("OpenCL 1.1") != std::string::npos) |
| 274 | { |
| 275 | return CLVersion::CL11; |
| 276 | } |
| 277 | else if (version_str.find("OpenCL 1.0") != std::string::npos) |
| 278 | { |
| 279 | return CLVersion::CL10; |
| 280 | } |
| 281 | |
| 282 | return CLVersion::UNKNOWN; |
| 283 | } |
| 284 | |
| 285 | bool device_supports_extension(const cl::Device &device, const char *extension_name) |
| 286 | { |