MagmaDNN  1.0
c++NeuralNetworkFramework
MagmaDNN

A neural network library in c++ aimed at providing a simple, modularized framework for deep learning that is accelerated for heterogeneous architectures. MagmaDNN's releases are located at https://bitbucket.org/icl/magmadnn (and here), while active development occurs at https://github.com/MagmaDNN/magmadnn/tree/dev.

===== VERSION 1.0 =====

  • Currently MagmaDNN provides a dynamic memory manager, tensor wrapper for the memory manager, and a set of math operations for the tensor.
  • As of 1.0 it now has support for a full compute graph, gradient computation, forward/backward propagation, and NN Layers.

MagmaDNN is optimized towards heterogeneous architectures (multi-core CPU and GPU), so it is advised to use with a modern NVIDIA GPU. However, MagmaDNN does support a CPU only install. This is mainly meant for testing and is not nearly as optimized as the GPU version.

The documentation can be found on the docs site. For the most recent version of the documentation see the /docs/tutorials/00_installing.md "build & install tutorial" on how to build the docs from source. The /docs/todo.md "todo page" contains information on the future of the package and the /docs/troubleshooting.md "troubleshooting page" walks through common issues and there solution.

There are several tutorials in docs/tutorials. These give an introduction into installing and using the library.

For examples of what MagmaDNN code looks like see the examples/ folder. If MagmaDNN is downloaded and installed, then the examples can be made and run with make examples.

author: Daniel Nichols

co-author: Sedrick Keh