注意: OpenCL 设备规范格式为 <Platform>:<CPU|GPU|ACCELERATOR|nothing=GPU/CPU>:<deviceName>,例如 AMD:GPU:。
OpenCL 运行时配置
| 名字 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| OPENCV_OPENCL_RUNTIME | filepath 或 disabled | OpenCL 运行时库的路径(例如 OpenCL.dll、libOpenCL.so) | |
| OPENCV_OPENCL_DEVICE | string 或 disabled | 选择特定的 OpenCL 设备。请参阅上面注释中的规格格式。 | |
| OPENCV_OPENCL_RAISE_ERROR | 布尔值 | false | 如果在 OpenCL 内核准备和执行期间出现故障,则引发异常(仅限发布版本) |
| OPENCV_OPENCL_ABORT_ON_BUILD_ERROR | 布尔值 | false | 如果 OpenCL 内核编译失败,则中止 |
| OPENCV_OPENCL_CACHE_ENABLE | 布尔值 | true | 启用 OpenCL 内核缓存 |
| OPENCV_OPENCL_CACHE_WRITE | 布尔值 | true | 允许写入缓存,否则缓存将是只读的 |
| OPENCV_OPENCL_CACHE_LOCK_ENABLE | 布尔值 | true | 使用 .lock 文件在使用相同 OpenCL 缓存的多个应用程序之间同步 |
| OPENCV_OPENCL_CACHE_CLEANUP | 布尔值 | true | 自动从缓存中删除旧条目 |
| OPENCV_OPENCL_VALIDATE_BINARY_PROGRAMS | 布尔值 | false | 验证加载的二进制 OpenCL 内核 |
| OPENCV_OPENCL_DISABLE_BUFFER_RECT_OPERATIONS | 布尔值 | true (Apple) / false (其他) | 为非连续数据下载启用解决方法 |
| OPENCV_OPENCL_BUILD_EXTRA_OPTIONS | 字符串 | 将额外的选项传递给 OpenCL 内核编译 | |
| OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR | 布尔值 | true | 缓冲区分配的解决方法/优化 |
| OPENCV_OPENCL_ALIGNMENT_MEM_USE_HOST_PTR | 数字 | 4 | OPENCV_OPENCL_ENABLE_MEM_USE_HOST_PTR 参数 |
| OPENCV_OPENCL_DEVICE_MAX_WORK_GROUP_SIZE | 数字 | 0 | 允许减小 maxWorkGroupSize |
| OPENCV_OPENCL_PROGRAM_CACHE | 数字 | 0 | 限制 OpenCL 内核缓存中的程序数量 |


