Peng Meng created SPARK-22115:
---------------------------------
Summary: Add operator for linalg Matrix and Vector
Key: SPARK-22115
URL: https://issues.apache.org/jira/browse/SPARK-22115
Project: Spark
Issue Type: Improvement
Components: ML, MLlib
Affects Versions: 3.0.0
Reporter: Peng Meng
For example, there are many code in LDA like this:
{code:java}
phiNorm := expElogbetad * expElogthetad +:+ 1e-100
{code}
expElogbetad is a breeze Matrix, expElogthetad is a breeze Vector,
This code will call a blas GEMV, then loop the result (:+ 1e-100)
Actually, this can be done with only GEMV, because the standard interface of
gemv is :
gemv(alpha, A, x, beta, y) //y := alpha*A*x + beta*y
We can provide some operators (e.g. Element-wise product (:*), Element-wise sum
(:+)) to Spark linalg Matrix and Vector, and replace breeze Matrix and Vector
by Spark linalg Matrix and Vector.
Then for all the cases like: y = alpha*A*x + beta*y, we can call GEMM or GEMV
for it.
Don't need to call GEMM or GEMV and then loop the result (for the add) as the
current implementation.
I can help to do it if we plan to add this feature.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]