java - Java 中 GPGPU/CUDA/OpenCL 的最佳方法?

标签 java cuda gpgpu opencl

图形处理单元 (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/

相关文章:

java - 我们可以在不运行单独的 ignite 集群的情况下将 Apache ignite 与 spring 应用程序一起使用吗

java - 如何播放主屏幕和副屏幕上添加的音乐?

CUDA-此循环在做什么

cuda - cuda内核运行时访问cuda设备内存

opencl - SYCL设备选择器中的host_selector是什么?

java - JComboBox 选择项目后自定义显示

java - 在 Spring Boot 中使用 IMAP 从 gmail 访问电子邮件

cuda - nvcc 和 NVIDIA-smi 显示的不同 CUDA 版本

CUDA:如何检查正确的计算能力?

python - 我可以将numpy与AMD的gpu加速blas库链接起来吗