图形处理单元 (GPGPU) 上的通用计算是一个非常有吸引力的概念,可以利用 GPU 的强大功能进行任何类型的计算。
我很想将 GPGPU 用于图像处理、粒子和快速几何运算。
目前,该领域的两个竞争者似乎是 CUDA 和 OpenCL。我想知道:
- OpenCL 是否可以在 Windows/Mac 上的 Java 中使用?
- 与 OpenCL/CUDA 接口(interface)的库方法有哪些?
- 是否可以直接使用 JNA?
- 我是不是忘记了什么?
感谢任何现实世界的经验/例子/ war 故事。
最佳答案
AFAIK,JavaCL / OpenCL4Java是目前唯一可在所有平台上使用的 OpenCL 绑定(bind)(包括 MacOS X、FreeBSD、Linux、Windows、Solaris,均采用 Intel 32、64 位和 ppc 变体,这要归功于它使用了 JNA)。
它的演示至少在 Mac 和 Windows 上可以从 Java Web Start 正常运行(为避免在 Linux 上随机崩溃,请参阅 this wiki page,例如此 Particles Demo。
它还带有一些实用程序(GPGPU 随机数生成、基本并行归约、线性代数)和一个 Scala DSL .
最后,它是最古老的可用绑定(bind)(自 2009 年 6 月以来)和 it has an active user community .
(免责声明:我是 JavaCL 的作者 :-))
关于java - Java 中 GPGPU/CUDA/OpenCL 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633483/