First alpha releases of HPNN

HPNN got its first public alpha releases.

HPNN stands for High Performance Neural Network.
It is a library that aims to allow a program to train and use artificial neural networks "on-the-fly".
I aim to keep it a simple API, and the library is entirely written in plain C.
For now it support several parallel framework:
  • MPI, for multi-nodes calculations over any network;
  • OpenMP, for multi-CPUs calculations, within a node;
  • CUDA, for calculation within several (NVidia) GPUs.
Some combination are also possible, ie. MPI/OpenMP, for calculation with several CPUs over a network of nodes.

*MPI/CUDA combinations, ie. one or several GPUs on several nodes (but with one CPU), and
OpenMP/CUDA combinations, ie. several CPUs + several GPUs on one node, are also planned.

However, the code is still in _very_ alpha stage, so expect a lot of BUGs.

The library is available here.