denisovan

A neanderthal backend for core.matrix.

EPL-1.0 License

Downloads
94
Stars
14
Committers
1

denisovan

This library provides a core.matrix implementation for neanderthal. The main focus of this library is to map neanderthal's high performance BLAS routines to core.matrix protocols as closely as possible, while being compliant with the rest of core.matrix.

Please take a look at neanderthal if you want to improve your performance further, as it is exposing the high performance low-level primitives directly in Clojure and provides many knobs to implement fast numerical algorithms from the literature. If you just need standard matrix multiplications and operations, as e.g. in deep-learning or general optimization algorithms you should be able to use denisovan just fine without losing portability to other core.matrix backends. If in doubt use criterium and a direct implementation with neanderthal to check whether your operations do something inefficiently behind the core.matrix API. Please join our gitter chat on questions and feel free to open issues!

Usage

You just need to load and activate the implementation as usual.

(require '[denisovan.core])

(clojure.core.matrix/set-current-implementation :neanderthal)

License

Copyright © 2016 Mike Anderson, 2017 Christian Weilbach

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.