CSCMatrix Native BLAS

31 views
Skip to first unread message

Chris Martin

unread,
Mar 31, 2018, 12:38:56 PM3/31/18
to Scala Breeze
Hi,

based on some performance testing and my reading of the code it looks like CSCMatrix doesn't support native BLAS.  Is that correct?

thanks,

Chris

David Hall

unread,
Mar 31, 2018, 12:45:10 PM3/31/18
to scala-...@googlegroups.com
That's right. 

--
You received this message because you are subscribed to the Google Groups "Scala Breeze" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-breeze+unsubscribe@googlegroups.com.
To post to this group, send email to scala-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scala-breeze/39294d85-156a-4166-be64-242a36df5ced%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Martin

unread,
Apr 1, 2018, 5:30:14 AM4/1/18
to Scala Breeze
ah thanks- so far I've not found a java matrix library that does this- out of interest is this because the native libraries don't support this, because there's nto much call for it or some other reason?

thanks,

Chris



On Saturday, March 31, 2018 at 5:45:10 PM UTC+1, David Hall wrote:
That's right. 

On Sat, Mar 31, 2018 at 3:05 AM, Chris Martin <ch...@cmartinit.co.uk> wrote:
Hi,

based on some performance testing and my reading of the code it looks like CSCMatrix doesn't support native BLAS.  Is that correct?

thanks,

Chris

--
You received this message because you are subscribed to the Google Groups "Scala Breeze" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-breeze...@googlegroups.com.

David Hall

unread,
Apr 1, 2018, 1:53:23 PM4/1/18
to scala-...@googlegroups.com
Well, you're the first to ask. :)

netlib-java (which we use for natives) and "normal" blas (e.g. ATLAS, OpenBLAS, CBLAS) don't support sparse matrices. (See http://www.netlib.org/blas/#_reference_blas_version_3_8_0). MKL apparently does, and I'm sure others do too.

I poked around scipy/numpy when I was writing the sparse stuff, and as far as I remember it's implemented using their own C, rather than outsourcing to a "real" tuned blas implementation. But I could be wrong/misremembering. The algorithm we implement for matrix multiply is very similar to theirs, so other than tuning to make the bounds checker happy, I'm not sure there's much more I can do JVM-side.

-- David

To unsubscribe from this group and stop receiving emails from it, send an email to scala-breeze+unsubscribe@googlegroups.com.

To post to this group, send email to scala-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages