是否可以编译成二进制或者其它形式的可执行文件?

senlinshouhu 2014-02-24 10:57:44
求助:opencl程序是否可以编译成二进制或者其它形式的可执行文件?如果可以,该如何来做?
...全文
1168 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
outstander 2014-02-24
  • 打赏
  • 举报
回复
OpenCL类似于Java,为了实现跨平台主要是进行运行时编译。即使像IcwyyIcwyy所说非常全面,使用binary形式也是中间代码类似于Java中的bytecode,运行时依然需要编译。
lcwyylcwyy 2014-02-24
  • 打赏
  • 举报
回复
cl的主机调用程序可以编译成二进制。.cl文件也可以从二进制加载源码,采用clCreateProgramWithBinary,但是只是加载二进制,且和设备绑定。由于AMD采用IL而NV采用PTX,不同的设备编译出的内核二进制不兼容。即使都是AMD二进制,编译的IL也会有差异。 而且无论是否使用二进制码加载都要使用clBuildProgram创建程序。因为不同的二进制码不一定包含可执行代码。 这种问题的主要原因是为了照顾不同平台的计算芯片,CPU GPU等或者相同芯片的不同厂商。 但是使用二进制加载确实要比从source加载要快,适当的调整一下生成方式,一样可以在不同的显卡上运行,但是都需要create pogram->build这个两个过程。
senlinshouhu 2014-02-24
  • 打赏
  • 举报
回复
引用 楼主 senlinshouhu 的回复:
求助:opencl程序是否可以编译成二进制或者其它形式的可执行文件?如果可以,该如何来做?
谢谢!省去了不少的麻烦!

604

社区成员

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

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