GitHub user VinceShieh opened a pull request:
https://github.com/apache/spark/pull/18936
[SPARK-21688][ML][MLLIB] make native BLAS the first choice for BLAS level 1
operations for dense data
## What changes were proposed in this pull request?
In this PR, we make native BLAS, if found, the default operations for ddot,
daxpy and dscal.
Before this PR, these operations are bound with F2J BLAS, but we found out
that with proper setting as we proposed in SPARK-21305, native blas can
outperform F2J blas in model training. Moreover, a uni-level test shows these
three operations are running faster on native than JVM on different data scale
from 10 to 100,000.
## How was this patch tested?
we tested the threes operation on different data scale and got:

we also tested this PR on SVM and got the result:


With this PR, these operations are more flexible to users that they can
choose to run with F2J or native BLAS as they desire.
Signed-off-by: vincent <[email protected]>
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/VinceShieh/spark SPARK-21688
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/18936.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #18936
----
commit c9f6347fe53cf3c72340e1daaecd4188381037c4
Author: Vincent Xie <[email protected]>
Date: 2017-08-14T07:43:04Z
[SPARK-21688][ML][MLLIB] make native BLAS the first choice for BLAS level 1
operations for dense data
In this PR, we make native BLAS, if found, the default operations for ddot,
daxpy and dscal.
Before this PR, these operations are bound with F2J BLAS, but we found out
that with proper setting as we proposed in SPARK-21305, native blas can
outperform F2J blas in model training. Moreover, a uni-level test shows these
three operations are running faster on native than JVM on different data scale
from 10 to 100,000.
Signed-off-by: vincent <[email protected]>
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]