我正在尝试在ATI Radeo 4850卡上运行NVidia的OpenCL demo oclNbody.exe并收到此类错误:
构建日志: C:\ DOCUME〜1个\ DIMEDR〜1个\ LOCALS〜1个\ TEMP \ OCL27C.tmp.cl(33): 错误:标识符
"float3" is undefined
REAL3 bodyBodyInteraction(REAL3 ai, REAL4 bi,REAL4 bj,REAL softeningSquared)
^
依旧使用的所有REAL3数据类型。我见过OpenCL specification 1.1,它清楚地说支持float3。我试图用float3改变REAL3而没有运气。我有我的卡的最新驱动程序。使用Windows XP SP3 OS
如何修复或解决此错误?
答案 0 :(得分:3)
float3
和其他3分量矢量类型不属于OpenCL 1.0规范;它们被添加到1.1修订版中。根据{{3}},Radeon HD 4800显卡仅支持OpenCL 1.0。
编译器试图将float3
解释为标识符的事实表明它不是可识别的类型。
答案 1 :(得分:0)
我找到了一个解决方法:
它有效!