我正在寻找一些使用GPU的数字处理能力的方法(也许使用Java?)除了使用目标机器拥有的多个内核之外。我将致力于实现(目前) A*算法,但我希望在未来用一种遗传算法来取代它。我已经研究过Project Fortress,但是当我在JavaFX中构建我的图形用户界面时,我不希望离JVM虚拟机太远。
当然,如果没有可行的解决方案,我将迁移到最简单的解决方案来实现。
发布于 2010-05-11 19:00:52
Parallel Colt可能会引起人们的兴趣。
发布于 2010-05-11 18:33:11
如果你对使用GPU的高性能计算感兴趣,那么也许你可以看看jCuda。这为CUDA提供了Java绑定,以及对CUDA FFT、CUDA BLAS和CUDA DPP的访问。我还没有看到关于这个库的任何性能报告,所以我不能保证它会很好。
除此之外,我不是很确定。如果你有兴趣做这类东西作为一个教育练习,那么Java应该足够好了,但如果你非常需要HPC,那么你可能会想要用C实现,并使用Java Native Interface与之通信。
发布于 2010-05-11 18:36:01
Morten Nobel有一个blog post,展示了如何使用OpenGL的JOGL - Java绑定创建Mandelbrot集
但是,如果您想要通用计算,而不是图形,那么您将需要用于OpenCL的Java绑定,您可以从JOCL、JOCL或JavaCL中进行选择。
Wikipedia's page展示了如何使用OpenCL来计算快速傅立叶变换。
https://stackoverflow.com/questions/2809811
复制相似问题