> > > b) It looks like you are consistently about 2x faster than JBlas for large > matrices - wondering what is causing the difference, is that because of > copying? > That is the most probable cause, but I am not sure whether it is the only one.
> c) Would be interesting to see a few other operations: I do a lot of work > with stochastic gradient descent for example so addition and > multiply-and-add can be even more important than matrix multiply. > Multiply-and-add is already there. See the docs. Neanderthal closely follows BLAS, so the default multiply is actually multiply-and-add. > > > On Tuesday, 13 January 2015 09:13:13 UTC+8, Dragan Djuric wrote: >> >> I am pleased to announce a first public release of new *very fast *native >> matrix and linear algebra library for Clojure based on ATLAS BLAS. >> Extensive *documentation* is at http://neanderthal.uncomplicate.org >> See the benchmarks at >> http://neanderthal.uncomplicate.org/articles/benchmarks.html. >> >> Neanderthal is a Clojure library that >> >> Main project goals are: >> >> - Be as fast as native ATLAS even for linear operations, with no >> copying overhead. It is roughly 2x faster than jBLAS for large matrices, >> and tens of times faster for small ones. Also faster than core.matrix for >> small and large matrices! >> - Fit well into idiomatic Clojure - Clojure programmers should be >> able to use and understand Neanderthal like any regular Clojure library. >> - Fit well into numerical computing literature - programmers should >> be able to reuse existing widespread BLAS and LAPACK programming know-how >> and easily translate it to Clojure code. >> >> Implemented features >> >> - Data structures: double vector, double general dense matrix (GE); >> - BLAS Level 1, 2, and 3 routines; >> - Various Clojure vector and matrix functions (transpositions, >> submatrices etc.); >> - Fast map, reduce and fold implementations for the provided >> structures. >> >> On the TODO list >> >> - LAPACK routines; >> - Banded, symmetric, triangular, and sparse matrices; >> - Support for complex numbers; >> - Support for single-precision floats. >> >> >> Call for help: >> Everything you need for Linux is in Clojars. If you know your way around >> gcc on OS X, or around gcc and MinGW on Windows, and you are willing to >> help providing the binary builds for those (or other) systems, please >> contact me. There is an automatic build script, but gcc, atlas and other >> build tools need to be properly set up on those systems. >> >> -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.