osama-raddad/encog-java

OpenCL support

Closed this issue · 3 comments

I'm planning to build a quite big neural network with Encog. I'm afraid
that it will be slow (especially training) due to lots of neurons in it.
Human neurons run 'in parallel', while Encog neuron values are computed
sequentially, which in bigger networks is slow.
There's a standard called OpenCL, it uses the enormous power of the modern
graphics cards. All computations are done in parallel and even big neural
networks may be very very fassst.

Will Encog ever support OpenCL? Perhaps I can make some code if I have free
time.

Technical issues:
- OpenCL requires a latest graphics card from NVidia or ATI, and recent
drivers; on computers without it the 'standard' java code has to be used
- OpenCL in Java is available via OpenCL4Java project
- OpenCL code is written in a variant of C, while Encog is in Java;
probably the easiest way to add OpenCL support would be writing Java ->
OpenCL C translator



Original issue reported on code.google.com by iir...@gmail.com on 25 Feb 2010 at 9:25

Original comment by heatonre...@gmail.com on 25 Mar 2010 at 8:25

  • Added labels: Type-Enhancement
  • Removed labels: Type-Defect
Yes, OpenCL support will be added in the next version (2.4).  Work on this is 
already
underway.

Original comment by heatonre...@gmail.com on 25 Mar 2010 at 8:26

Open CL support has been added.  More extensive support will be added in later 
releses.

Original comment by heatonre...@gmail.com on 14 Aug 2010 at 2:52

  • Changed state: Verified