GPU上的Java:直接在纯Java中的GPU上完成方法

问题描述 投票:13回答:5

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

[我只想获取编码的Java源代码,并使其以最小的更改在GPU上运行。

我将非常感谢代码示例。

java gpu gpu-programming
5个回答
10
投票

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

全部披露,我是Aparapi首席开发人员。


9
投票

Rootbeer GPU编译器支持在GPU上运行任意Java代码。它比Aparapi功能更全。 Rootbeer支持任何类型的树木对象图。

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


6
投票

[CUDA和OpenCL有多个Java绑定(jcuda.orgjocl.org,也称为jocl),但是这些都是通过Java获取在GPU上运行CUDA或OpenCL代码的方式,并且要求您为此专门编写代码。我不认为有一种简单的方法就可以在GPU上运行任意多线程Java程序,而只需对代码进行少量更改即可。

您想在GPU上运行Java程序做什么?

您必须考虑到GPU的体系结构与CPU的体系结构完全不同; GPU上的内核不是像Intel x86 CPU那样可以做任何事情并且可以独立工作的通用内核。要真正利用GPU的特定SIMD架构,必须在编写代码时考虑到该架构。


2
投票

http://code.google.com/p/java-gpu/

仅使用注释将纯Java代码编译到内核中。


-1
投票

TornadoVM是OpenJDK的插件,它使程序员可以在异构硬件上自动运行Java程序。 TornadoVM当前面向与OpenCL兼容的设备,并且可以在多核CPU,GPU(NVIDIA和AMD),Intel集成GPU和Intel FPGA上运行。在这里看看:https://github.com/beehive-lab/TornadoVM

© www.soinside.com 2019 - 2024. All rights reserved.