首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该为OpenCL为Java使用什么API

我应该为OpenCL为Java使用什么API
EN

Stack Overflow用户
提问于 2013-04-22 11:57:05
回答 1查看 1.3K关注 0票数 3

我应该使用什么API来支持OpenCL。

我想知道那是最好的表现

  1. JavaCL
  2. Aparapi (AMD提供的API)
  3. JOCL

是需要JavaCL将Java字节代码转换为OpenCL,还是只有Aparapi (由AMD提供)才能做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-22 20:49:43

据我所知,Aparapi是提供从字节码自动转换OpenCL的唯一框架。RootBeer为CUDA提供了类似的选择。

如果您准备手动调优您的JavaCL和/或知道如何利用OpenCL的一些更高级特性(本地内存、矢量指令、重叠传输/调度),您可能会发现OpenCL或JOCL提供了更多的性能机会。

具体来说,如果您想要应用多个OpenCL内核(比如在管道中),您可以更容易地使用JOCL/JavaCL最小化主机和GPU之间的缓冲区传输。阿巴拉皮在这里缺乏一些灵活性。

但是,我希望(并且已经观察到)大多数‘简单’算法的性能在这三个框架之间非常相似。

我的建议(完全公开我是Aparapi /初始贡献者)将尝试Aparapi,如果您发现自己想“修改”生成的OpenCL (Aparapi将允许您列出它生成的代码),或者发现您希望尝试重叠的缓冲区/传输或多内核分发,那么当您获得更多的经验时,您总是可以切换到JOCL/JavaCL。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16146571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档