错误:标识符“float3”未定义;在 ATI 卡上运行 oclNbody 演示时

发布于 2024-11-15 17:28:11 字数 550 浏览 2 评论 0原文

我尝试在 ATI Radeo 4850 卡上运行 NVidia 的 OpenCL 演示 oclNbody.exe 并收到以下错误:

构建日志: C:\DOCUME~1\DIMEDR~1\LOCALS~1\Temp\OCL27C.tmp.cl(33): 错误:标识符

“float3”未定义

REAL3 bodyBodyInteraction(REAL3 ai, REAL4 bi、REAL4 bj、REAL 软化平方)

^

对于所有 REAL3 数据类型使用依此类推。我已经看过 OpenCL 规范 1.1 ,它清楚地表明说支持float3。我尝试用 float3 更改 REAL3 但没有成功。我的卡有最新的驱动程序。使用 Windows XP SP3 操作系统

如何修复或解决此错误?

I'm trying to run NVidia's OpenCL demo oclNbody.exe on ATI Radeo 4850 card and receive such errors:

Build Log:
C:\DOCUME~1\DIMEDR~1\LOCALS~1\Temp\OCL27C.tmp.cl(33):
error: identifier

      "float3" is undefined

REAL3 bodyBodyInteraction(REAL3 ai,
REAL4 bi, REAL4 bj, REAL
softeningSquared)

^

And so on for all REAL3 datatype using. I have seen the OpenCL specification 1.1 and it clearly says that float3 is supported. I've tried to change REAL3 with float3 with no luck. I have the latest drivers for my card. Using Windows XP SP3 OS

How can I fix or work around this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲鸠 2024-11-22 17:28:11

float3 和其他 3 分量向量类型不是 OpenCL 1.0 规范的一部分;它们是在 1.1 修订版中添加的。根据AMD的驱动兼容性页面,Radeon HD 4800卡仅支持OpenCL 1.0。

编译器尝试将 float3 解释为标识符的事实表明它不是可识别的类型。

float3 and other 3-component vector types were not part of the OpenCL 1.0 spec; they were added in the 1.1 revision. According to AMD's driver compatibility page, the Radeon HD 4800 cards only support OpenCL 1.0.

The fact that the compiler tried to interpret float3 as an identifier shows that it is not a recognized type.

深巷少女 2024-11-22 17:28:11

我找到了一个解决方法:

  • 使用 float 4 而不是 float3;
  • #define ZERO4 {0.0f, 0.0f, 0.0f, 0.0f} 并使用它代替 ZERO3
  • 并将工作组数量减少到 64(原来是 256)

,它成功了!

I have found a workaround:

  • use float 4 instead of float3;
  • #define ZERO4 {0.0f, 0.0f, 0.0f, 0.0f} and use it instead ZERO3
  • and decrease the number of workgroup to 64 (was 256)

and it worked!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文