Page 1 of 8

Neural Network

PostPosted: Fri Apr 26, 2013 4:05 pm
by glasspelican
The disturbed nature of the epiphany strikes me as a perfect platform to run an artificial neural network.
does anyone have any experience with the FANN library?
I downloaded the source, but havnt had time to look at it yet.

Re: Neural Network

PostPosted: Mon Apr 29, 2013 3:48 pm
by Eismcc
I've not used but FANN and would be interested in NN's on parallela as well. A quick google yields http://viennacl.sourceforge.net/ which may also be useful.

Re: Neural Network

PostPosted: Mon Jun 10, 2013 11:51 pm
by MacTuxLin
This would be the one of the killer-app for this board. I can't wait (have been patiently waiting, actually) for my board, I'm also designing my own 64-core embedded board, albeit it is using 9 x P8X32A chips :lol:

Anyway, are there any work to the library on this? I presume apps like Octave would work on this board?

Re: Neural Network

PostPosted: Sat Jul 20, 2013 11:01 am
by stealthpaladin
Hi I've got some limited experience using FANN and neural nets in general.

I can definitely say this board would be a great fit. The epiphany cores, from what I can understand at least, are pretty good at talking to each other. Compared with traditional processors this is very desirable for artificial neurons. Additionally the FPGA can be run in cooperation if you can work out the clocking details.

Finally, with regard to neural nets I'm very pleased with the inclusion of the analog unit, which can provide data context which is especially 'native' to neuron structures.

Re: Neural Network

PostPosted: Mon Jul 29, 2013 8:58 pm
by oneninja
Im glad to hear others thinking the same thing that I am... this epiphany chip *could* be a great NN platform. Which is exactly what I plan on using my Parallella boards for. My initial plans include :

* getting ngspice running (if I can) to speed up Analog NN simulations
* use something like FANN for connectivity/learning algorithms
* writing models for vary degree of bio-realistic neural net emulation

I probably wont receive my hardware until October 2013 at best, so that gives me plenty of time to figure out exactly what code I want to run first.

Re: Neural Network

PostPosted: Sat Aug 10, 2013 11:44 pm
by nickoppen
I wrote a basic 3 layer back-propagation neural network simulator a few years back. I actually got it working after a couple of years.

My first project will be to rewrite it for Parallella. I've done some of the high level design work and yes, the Parallella architecture will work well. The learning curve for me will be getting the OpenCL working. Don't hold your breath - I've got kids now.

Re: Neural Network

PostPosted: Sun Aug 18, 2013 4:14 am
by stealthpaladin
nickoppen wrote:I wrote a basic 3 layer back-propagation neural network simulator a few years back. I actually got it working after a couple of years.

My first project will be to rewrite it for Parallella. I've done some of the high level design work and yes, the Parallella architecture will work well. The learning curve for me will be getting the OpenCL working. Don't hold your breath - I've got kids now.


Hey good to hear that no matter how passive the project =) Do please let me know if you end up wanting some assistance on the OpenCL. Currently using codeblocks/mingw on windows for my OpenCL programming and I've got the same project cross-compiling in linux using GCC. So I can at least provide boilerplate if needed already 8-)

Re: Neural Network

PostPosted: Mon Aug 19, 2013 4:48 am
by nickoppen
stealthpaladin wrote:
Hey good to hear that no matter how passive the project =) Do please let me know if you end up wanting some assistance on the OpenCL. Currently using codeblocks/mingw on windows for my OpenCL programming and I've got the same project cross-compiling in linux using GCC. So I can at least provide boilerplate if needed already 8-)


Thanks, I will. All that compiler stuff I find really tedious. I can't wait to get going.

Re: Neural Network

PostPosted: Tue Aug 20, 2013 3:32 am
by stealthpaladin
nickoppen wrote:All that compiler stuff I find really tedious.


This makes me think a little. Once they're shipping them and I get ahold of a Parallella, I'll post a bare-bones project that compiles under both platforms (win/linux) with a few different libraries pre-linked and such. That way anyone can open it up and just start modifying the OpenCL kernels that run on the Epiphany.

Will try to get opencl, coprthr, glfw, opencv, and possibly streaminput libraries all linked & building properly by default so people can get up and going on Parallella quickly and more experienced folks can optimize the runtime environment from the basic version =)

Will post a git repo at that point and put a link here.

If you want any particular libraries for neural net development let me know and if I can get them linked I'll make a branch that has those libraries.

Re: Neural Network

PostPosted: Tue Aug 20, 2013 11:57 am
by nickoppen
stealthpaladin wrote:
Will try to get opencl, coprthr, glfw, opencv, and possibly streaminput libraries all linked & building properly by default so people can get up and going on Parallella quickly and more experienced folks can optimize the runtime environment from the basic version =)


That would be great! I tried to get the intel OpenCL libraries going under Ubuntu and windows 7. Getting it all set up is really tricky if you don't have an example to work off. It would be great to get a generic "Hello World!" type application that sends a basic task to the Epiphany chip and returns a result. I think that would be really useful and a lot of people would find that helpful.

stealthpaladin wrote:If you want any particular libraries for neural net development let me know and if I can get them linked I'll make a branch that has those libraries.


No, there's not a lot of tricky code within the simulator. It's really just manipulation of floats and C++ (or C if you like pain) and the OpenCL program language (the C-language super/sub-set) has everything you need.