Opencl内核传入结构体问题

ttsh1989 2015-07-09 08:58:12
OPENCL 在我的内核函数文件外,定义了一个结构体Object_G , 在内核文件中通过头文件的形式包含了该定义的.h文件。但是在使用__kernel void fun(__global Object_G *object_g)出现了编译错误,打印编译信息提示Object_G标识符未定义。
1、不知道是否能够在kernel文件中使用自定义的结构体变量
2、使用时 怎么正确使用。
希望能够有人看到,给予指导。谢谢。
...全文
2305 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
百灵工作室 2015-12-04
  • 打赏
  • 举报
回复
要么在编译选项中指定头文件路径,要么在cl文件中定义,
wcblem4ak 2015-11-19
  • 打赏
  • 举报
回复
楼上回答是对的,如果你不加-l来指定头文件的路径,就把.h里的定义全部copy到kernel文件的开头,就可以了
fronteer 2015-08-17
  • 打赏
  • 举报
回复
你的 clBuildPrIogram() 调用的参数中 要设置 "-Ixxx" 选项指定 kernel 依赖的头文件的放置路径, 这和编译 Host 代码类似的。 只要你记住你的 kernel 是通过 clBuildProgram() 编译的就行。
zenny_chen 2015-07-13
  • 打赏
  • 举报
回复
你这边漏加了struct。这么改试试:

__kernel void fun(__global struct Object_G *object_g)

602

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧