Java GPU编程

Ana*_*man 29 java performance gpu

是否可以用Java进行GPU编程?我的意思是不使用本机库.

当我们切换到gpu时,人们可以期待多少性能提升?

编辑:

我不是在看游戏编程,我想做硬核数字运算.

Gun*_*r47 11

是. Java3D,LWJGL和JOGL支持GLSL(OpenGL着色语言).

编辑:
如果要在GPU上进行与平台无关的通用计算,可以使用OpenCL.尽管功能集和执行环境各不相同,但该框架允许您编写以相同方式处理所有处理单元的代码.但是,与Java相比,这是一个非常低级的编程.

看来你的理想是使用OpenCL支持编写的JVM.在网上搜索,我发现这个想法有点兴趣,但没有任何重要支持的证据.

人们可以期待多少性能提升

这取决于您运行的系统以及您正在处理的数据类型(矩阵和矢量数学在GPU上非常有效).你可能会在像我这样的系统上获得一些重大收益,它有两个强大的GPU和一个适度的单核CPU.但是,在具有适度GPU和四核CPU的计算机上,性能提升可能很难克服开销.

  • 他可能正在寻找JOCL.http://www.jocl.org/ (5认同)

小智 6

Rootbeer1刚刚在github上发布:https://github.com/pcpratts/rootbeer1

使用Rootbeer,您可以使用几乎任何Java进行编程,但以下情况除外:

  1. 原生方法和领域
  2. 反射
  3. 动态方法调用
  4. 垃圾收集
  5. 在监视器内睡觉

这意味着您可以使用具有复合类型的任意对象图.