OpenCL:处理双打错误

Posted

技术标签:

【中文标题】OpenCL:处理双打错误【英文标题】:OpenCL: working with doubles error 【发布时间】:2013-05-15 05:39:41 【问题描述】:

错误状态: 错误:无法启用所有 OpenCL 扩展或无法识别的 OpenCL 扩展 #pragma OPENCL EXTENSION cl_khr_fp64 : 启用

系统配置:

64 位 Windows 7 配备 ATI Mobility Radeon HD 5400 系列的笔记本电脑 Visual Studio 2010

已安装驱动程序:

AMD-APP-SDK-v2.8-Windows-64 amd_catalyst_13.5_mobility_beta3

由于我需要在内核中使用双精度类型,我该如何解决这个问题? 该指令在内核的第一行中声明。

【问题讨论】:

您可以使用 clGetDeviceInfo(..., CL_DEVICE_EXTENSIONS,...) 检查设备支持的扩展程序 【参考方案1】:

您的 GPU 不支持双精度。这就是 OpenCL 运行时报告它无法启用 cl_khr_fp64 扩展的原因。如果您确实需要双精度,请尝试将 CPU 用作 OpenCL 设备并在其上运行您的内核。

【讨论】:

我认为你是对的。有什么网站可以让我查看另一个 ati 板是否支持双精度? 在clbenchmark.com 可以找到各种卡的 opencl 支持详细信息。例如,您设备的此页面:clbenchmark.com/device-environment.jsp?config=12278593

以上是关于OpenCL:处理双打错误的主要内容,如果未能解决你的问题,请参考以下文章

openCL clEnqueueNDRangeKernel 失败;不返回列出的错误类型

OpenCL

OpenCL 堆栈溢出。如何解决?

OpenCL 本地内存大小和计算单元数量

OpenCL 中的最佳本地/全局工作量

NaN 对双打意味着啥?