--
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/37858bab-70e2-4704-be42-5c8e43655f88%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
There's not, but I actually think I did this specific tuning for you:I profiled them fairly carefully to determine the tradeoff points, but maybe there's been some drift or I messed up.F2J blas is almost never what you want in practice. The loops it generates don't seem to reliably turn off JVM's array bounds checks or something, which kills performance.-- David
On Wed, Dec 13, 2017 at 1:11 PM, <nate...@curalate.com> wrote:
I have a project where we compute a 1) very large matrix dot product and then perform a large loop of 2) smaller vector operations. We would ideally like to use a native BLAS implementation for 1) and F2J for 2) as my hunch is that a native call is actually more expensive. My motivation is partially from: https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/recommendation/MatrixFactorizationModel.scala#L299-L300 and partially from determining that the System CPU usage is somewhat high during processing. Is there currently any support for this? I couldn't see a way to instantiate two different underlying implementations.
Thanks,Nathaniel
--
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.
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/697cbfdd-c708-46e1-b39e-c5dc722bc60d%40googlegroups.com.
(also, in the code you linked, seems like you'd be better off using matrices?)
On Wed, Dec 13, 2017 at 2:40 PM, David Hall <david....@gmail.com> wrote:
There's not, but I actually think I did this specific tuning for you:I profiled them fairly carefully to determine the tradeoff points, but maybe there's been some drift or I messed up.F2J blas is almost never what you want in practice. The loops it generates don't seem to reliably turn off JVM's array bounds checks or something, which kills performance.-- David
On Wed, Dec 13, 2017 at 1:11 PM, <nate...@curalate.com> wrote:
I have a project where we compute a 1) very large matrix dot product and then perform a large loop of 2) smaller vector operations. We would ideally like to use a native BLAS implementation for 1) and F2J for 2) as my hunch is that a native call is actually more expensive. My motivation is partially from: https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/recommendation/MatrixFactorizationModel.scala#L299-L300 and partially from determining that the System CPU usage is somewhat high during processing. Is there currently any support for this? I couldn't see a way to instantiate two different underlying implementations.
Thanks,Nathaniel
--
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.