Description

A numerical optimisation framework.

Package Information

Version0.1.5 (2016-Jun-27)
Repository https://github.com/henrygouk/dopt
LicenseMIT
CopyrightCopyright © 2016, Henry Gouk
AuthorsHenry Gouk
Registered byHenry Gouk
Dependencies

derelict-cuda

cblas

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

dopt

A numerical optimisation library for the D programming language.

One can describe a differentiable function as an abstract syntax tree of tensor operations. These functions can then be interpreted on the CPU or compiled to CUDA code and executed on a GPU.

Reverse mode automatic differentiation is available for computing gradients.

The core operations required for convolutional neural networks are implemented using nVidia's cuDNN library.

Building

So far this has only been tested on Ubuntu Linux with CUDA 7.0.

cuBLAS and cuDNN are required to build the library. Ensure they can be found by setting the LIBRARY_PATH environment variable correctly, then run:


The Plan
--------

Currently the AST and CPU/CUDA compilers are the only parts that have been
implemented. The next main goal is to implement some standard numerical
optimisation methods, such as the conjugate gradient method and
Levenberg-Marquardt.

Contributors are welcome!

Available versions

0.1.5 0.1.4 0.1.3 0.1.2 0.1.1 0.1.0 ~master