7

I'm looking for some way of using the number-crunching ability of a GPU (with Java perhaps?) in addition to using the multiple cores that the target machine has. I will be working on implementing (at present) the A* Algorithm but in the future I hope to replace it with a Genetic Algorithm of sorts. I've looked at Project Fortress but as I'm building my GUI in JavaFX, I'd prefer not to stray too far from a JVM.

Of course, should no feasible solution be available, I will migrate to the easiest solution to implement.

Insectatorious
  • 1,305
  • 3
  • 14
  • 29

4 Answers4

5

If you're interested in HPC with GPUs then perhaps you can look jCuda. This provides Java bindings for CUDA, along with access to CUDA FFT, CUDA BLAS and CUDA DPP. I haven't seen any performance reports on this library so I can't guarantee it will be very good.

Beyond that, I'm not really sure. If you're interested in doing this type of stuff as an educational exercise then Java should be good enough, but if you have a serious need for HPC then you're probably going to want to implement in C and use the Java Native Interface to communicate with it.

Il-Bhima
  • 10,744
  • 1
  • 47
  • 51
4

Morten Nobel Joergensen has a blog post showing how to create a Mandelbrot Set using JOGL - Java Bindings for OpenGL

However if you want generic computing, rather than graphics, then you'd be after the Java bindings for OpenCL, from which you can chose from JOCL, or JOCL or JavaCL.

Wikipedia's page shows how OpenCL can be used to compute a fast fourier transform.

Stephen Denne
  • 36,219
  • 10
  • 45
  • 60
3

Parallel Colt might be of interest.

Mark
  • 28,783
  • 8
  • 63
  • 92
  • Does it take implicit parallelism? I'm reading the concurrency section but there doesn't seem to be anything about hardware specific advantages. – Insectatorious May 11 '10 at 11:10
  • The web page suggests that it will automatically make use of multiple CPU cores where possible. I have not used this version of Colt myself only the original library on which this is based. – Mark May 11 '10 at 12:34
2

Have a look at JPPF, it is a very nice and mature open source Java grid computing environment

John Channing
  • 6,501
  • 7
  • 45
  • 56