cl_khr_fp64和cl_amd_fp64之间的区别? [英] Differences between cl_khr_fp64 and cl_amd_fp64?

查看:196
本文介绍了cl_khr_fp64和cl_amd_fp64之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚发现,在(非常昂贵的)Radeon 6970上,仅支持 cl_amd_fp64 扩展名。我在代码的某些部分得到奇怪的结果(访问 0.005 的值实际上使用的是 1.99916e + 37 吗? )与 cl_amd_fp64 一起运行时。在CPU上将 cl_khr_fp64 与Intel SDK配合使用也可以。 (输入缓冲区完全相同)

I just found that on my (pretty expensive) Radeon 6970, only cl_amd_fp64 extension is supported. I am getting odd results in some parts of the code (accessing the value of 0.005 actually uses 1.99916e+37?) when running with cl_amd_fp64. Using cl_khr_fp64 with Intel SDK on the CPU works just fine. (The input buffers are exactly the same)

扩展页面提供的信息很少。

两者之间到底有什么区别?

What are exactly the differences between both?

推荐答案

cl_khr_fp64 是Khronos官方的双精度浮点精度扩展。它要求算法符合IEEE 754-2008,并支持所有OpenCL矢量类型和标准库功能。

cl_khr_fp64 is the Khronos official double precision floating point precision extension. It requires that arithmetic be IEEE 754-2008 compliant, and the full range of OpenCL vector types and standard library functions be supported.

最初,AMD仅实现了 cl_khr_fp64 扩展要求的子集,因此他们在那里发布了自己的供应商扩展 cl_amd_fp64 用于在其GPU硬件上支持双精度。首次出现时,支持范围非常有限(可能只有+,-,*,具有非标准的舍入行为IIRC),但随着后续的SDK版本和新的硬件修订版,其支持范围已逐渐扩大。如果我的记忆正常,他们会在发行说明中列出支持的内容。

Initially, AMD only implemented a subset of what the cl_khr_fp64 extension requires, so they issued there own vendor extension cl_amd_fp64 for supporting double precision on their GPU hardware. When it first appeared, the range of support was very limited (perhaps only +,-,* with non standard rounding behaviour IIRC), but it has slowly expanded with successive SDK releases and newly hardware revisions. They list what is supported in their release notes, if my memory serves correctly.

我已经有一段时间没有密切关注他们的进度了,所以我不确定为什么会这样您看到的可能正在发生。如果您安装了最新的驱动程序和流SDK版本,我建议您整理一个repro案例并向他们提交错误报告。可能是您使用了他们不支持或不能保证其结果的产品,但也可能是您发现了错误。

I haven't followed their progress closely for a while, so I am not sure why what you are seeing might be occurring. If you have the latest driver and stream SDK version installed, I would suggest putting together a repro case and filing a bug report with them. It might be you are using something they don't support or guarantee the results of, but it could also be that you have found a bug.

这篇关于cl_khr_fp64和cl_amd_fp64之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆