我的应用程序是OpenCL 1.1兼容的,我想检查每个设备是否有该版本的驱动程序.有两种方法:
我有以下疑虑:
OpenCL中有一些具有硬件要求的功能.这意味着即使特定供应商的OpenCL实现(平台)支持OpenCL版本,设备也可能不支持.因此,从CL_DEVICE_VERSION和CL_PLATFORM_VERSION查询返回的版本完全有可能不同.
当OpenCL 2.0实现开始出现时,这可能会更频繁地发生,因为市场上有大量硬件没有对OpenCL 2.0功能的必要支持.想象一下,有来自两个设备的系统供应商X:一个新的设备A,可以运行的OpenCL 2.0,和更古老的设备B不了的.在这种情况下,平台版本可能是OpenCL 2.0,但设备版本可能是Device A的 OpenCL 2.0 和Device B的 OpenCL 1.2 .
的CL_DRIVER_VERSION是获得一个供应商特定版本号的执行情况.该数字可以使用供应商用于跟踪不同软件版本的任何版本编号系统,并且完全独立于OpenCL版本号(尽管一些供应商也可能在此包含OpenCL版本).
因此,为了确保设备和平台都支持您所需的OpenCL版本,您只需要检查即可CL_DEVICE_VERSION.
| 归档时间: |
|
| 查看次数: |
5215 次 |
| 最近记录: |