7

除了使用目标机器拥有的多个内核之外,我还在寻找某种使用 GPU 的数字运算能力(也许是 Java?)的方法。我将致力于实现(目前)A* 算法,但在未来我希望用某种遗传算法代替它。我看过Project Fortress,但是当我在 JavaFX 中构建我的 GUI 时,我不希望离 JVM 太远。

当然,如果没有可行的解决方案,我将迁移到最容易实施的解决方案。

4

4 回答 4

5

如果您对带有 GPU 的 HPC 感兴趣,那么也许您可以查看jCuda。这为 CUDA 提供了 Java 绑定,以及对 CUDA FFT、CUDA BLAS 和 CUDA DPP 的访问。我还没有看到关于这个库的任何性能报告,所以我不能保证它会非常好。

除此之外,我不太确定。如果您有兴趣将这种类型的东西作为教育练习,那么 Java 应该足够好,但如果您对 HPC 有严重需求,那么您可能想要用 C 实现并使用 Java 原生接口与之交流。

于 2010-05-11T10:33:11.003 回答
4

Morten Nobel Joergensen 有一篇文展示了如何使用JOGL创建 Mandelbrot 集- Java Bindings for OpenGL

但是,如果您想要通用计算,而不是图形,那么您将使用OpenCL的 Java 绑定,您可以从中选择JOCLJOCLJavaCL

维基百科的页面展示了如何使用 OpenCL 来计算快速傅立叶变换。

于 2010-05-11T10:36:01.310 回答
3

平行柯尔特可能很有趣。

于 2010-05-11T11:00:52.243 回答
2

看看JPPF,它是一个非常漂亮和成熟的开源 Java 网格计算环境

于 2010-07-08T20:49:18.123 回答