>
>
> 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.

Reply via email to