Java GPU 编程

标签 java performance gpu

是否可以在 Java 中进行 GPU 编程? 我的意思是不使用 native 库。

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

编辑:

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

最佳答案

支持。 Java3D、LWJGL 和 JOGL 支持 GLSL (OpenGL 着色语言)。

编辑:
如果您想在 GPU 上进行平台中立的通用计算,您可以使用 OpenCL。尽管功能集和执行环境千差万别,但该框架使您可以编写对所有处理单元一视同仁的代码。不过,与 Java 相比,这是非常低级的编程。

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

how much of a performance improvement can one expect

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

关于Java GPU 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384970/

相关文章:

java - Android : Should I remove @Override from facebook. java?

performance - 等待 header 时超出客户端超时

java - 性能:循环遍历 ArrayList 数百次与将 Arraylist 转换为 HashMap 并返回?

windows - DirectDraw 游戏可以在不锁定的情况下访问后备缓冲区吗?

python - 如何使用 CUDA 通过目前通过 scipy.sparse.csc_matrix.dot 实现的密集向量积来加速稀疏矩阵?

search - CUDA 中的首次出现搜索

java - 文件扫描仪阵列

java - 使用 icu4j 格式化数字(拼写)

java - 在查询中使用带间隔的 prepareStatement 时出错

javascript - 获取所有不匹配Javascript中的正则表达式模式的字符