GPU上的Java:直接在GPU上使用普通Java完成方法

And*_*nig 13 java gpu gpu-programming

首先:是否可以使用Java并让它(部分)运行或使用GPU?如果可能的话,是否可以使用普通的Java语法而不使用特殊的cuda或opencl语法?

我想只需要使用我的编码java源代码,让它在GPU上进行尽可能小的更改.

我非常感谢代码示例.

小智 10

考虑Aparapi http://aparapi.github.io/.它尝试在运行时将字节码转换为OpenCL.因此,您可以使用纯Java为GPU编码.

完全披露,我是Aparapi首席开发人员.


小智 9

Rootbeer GPU编译器支持在GPU上运行任意Java代码.它比Aparapi更全面.Rootbeer支持任何类型的arbirary对象图.

它刚刚在我的github帐户上发布了开源:https: //github.com/pcpratts/rootbeer1


Jes*_*per 6

有几个Java绑定到CUDA和OpenCL(jcuda.org,jocl.org,其他东西也称为jocl),但这些只是通过Java在GPU上运行CUDA或OpenCL代码的方法,并要求你专门编写代码为了那个原因.我不认为有一种简单的方法可以在GPU上运行任意多线程Java程序,只需对代码进行微小的更改.

您希望在GPU上运行Java程序的功能是什么?

您必须考虑到GPU的架构与CPU的架构完全不同; GPU上的内核不是通用内核,可以做任何事情并独立工作,就像在Intel x86 CPU中一样.要真正利用GPU的特定SIMD架构,您的代码必须考虑到该架构.

  • 算法可以大规模并行化吗?您可以学习其中一个CUDA或OpenCL绑定,了解GPU的工作原理,并了解如何以适合GPU的方式实现算法.它不像以某种方式重新编译您现有的Java程序那么简单...... (2认同)