You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by du...@apache.org on 2015/12/02 02:05:25 UTC
[47/47] incubator-systemml git commit: New wumm quaternary op
(rewrite, cp/mr/sp compiler/runtime, tests, docs)
New wumm quaternary op (rewrite, cp/mr/sp compiler/runtime, tests, docs)
This change adds a new quaternary operation 'wumm' for the pattern
X*uop(L%*%t(R)), where uop is an arbitrary unary operator (with few
exceptions) or matrix-scalar/scalar-matrix operation that is internally
mapped to an unary operator (e.g., X^2, 2*X).
Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/cbc96022
Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/cbc96022
Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/cbc96022
Branch: refs/heads/gh-pages
Commit: cbc960226ba0c4fedf760e2d1ed1fdc207fa8017
Parents: c8cc6eb
Author: Matthias Boehm <mb...@us.ibm.com>
Authored: Sat Nov 21 22:00:15 2015 -0800
Committer: Matthias Boehm <mb...@us.ibm.com>
Committed: Sun Nov 22 19:38:28 2015 -0800
----------------------------------------------------------------------
devdocs/MatrixMultiplicationOperators.txt | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/cbc96022/devdocs/MatrixMultiplicationOperators.txt
----------------------------------------------------------------------
diff --git a/devdocs/MatrixMultiplicationOperators.txt b/devdocs/MatrixMultiplicationOperators.txt
index 54cb5ec..7bc8a9c 100644
--- a/devdocs/MatrixMultiplicationOperators.txt
+++ b/devdocs/MatrixMultiplicationOperators.txt
@@ -1,6 +1,6 @@
#####################################################################
# TITLE: An Overview of Matrix Multiplication Operators in SystemML #
-# DATE MODIFIED: 09/26/2015 #
+# DATE MODIFIED: 11/21/2015 #
#####################################################################
In the following, we give an overview of backend-specific physical matrix multiplication operators in SystemML as well as their internally used matrix multiplication block operations.
@@ -48,6 +48,7 @@ A QuaternaryOp hop can be compiled into the following physical operators. Note t
- WSigmoid (weighted sigmoid) --> wsigmoid
- WDivMM (weighted divide matrix multiplication) --> wdivmm
- WCeMM (weighted cross entropy matrix multiplication) --> wcemm
+ - WuMM (weighted unary op matrix multiplication) --> wumm
* 2) Physical Operator in MR (distributed, mapreduce)
- MapWSLoss (map-side weighted squared loss) --> wsloss
@@ -58,6 +59,8 @@ A QuaternaryOp hop can be compiled into the following physical operators. Note t
- RedWDivMM (reduce-side weighted divide matrix mult) --> wdivmm
- MapWCeMM (map-side weighted cross entr. matrix mult) --> wcemm
- RedWCeMM (reduce-side w. cross entr. matrix mult) --> wcemm
+ - MapWuMM (map-side weighted unary op matrix mult) --> wumm
+ - RedWuMM (reduce-side weighted unary op matrix mult) --> wumm
* 3) Physical Operators in SPARK (distributed, spark)
- MapWSLoss (see MR, mappartitions + reduce) --> wsloss
@@ -70,8 +73,11 @@ A QuaternaryOp hop can be compiled into the following physical operators. Note t
- RedWDivMM (see MR, 1/2x flatmaptopair + 1/2x join + --> wdivmm
maptopair + reducebykey)
- MapWCeMM (see MR, mappartitions + reduce) --> wcemm
- - RedWDivMM (see MR, 1/2x flatmaptopair + 1/2x join + --> wcemm
+ - RedWCeMM (see MR, 1/2x flatmaptopair + 1/2x join + --> wcemm
maptopair + reduce)
+ - MapWuMM (see MR, mappartitions) --> wumm
+ - RedWuMM (see MR, 1/2x flatmaptopair + --> wumm
+ 1/2x join + maptopair)
C) CORE MATRIX MULT PRIMITIVES LibMatrixMult (incl related script patterns)
@@ -112,9 +118,11 @@ C) CORE MATRIX MULT PRIMITIVES LibMatrixMult (incl related script patterns)
- sequential / multi-threaded (same block ops, par over rows in X)
- all dense, sparse-dense factors, sparse/dense-* x 7 patterns
-* 8) wcemm (sum(X*log(U%*%t(V))))
+* 8) wcemm (sum(X*log(U%*%t(V))))
- sequential / multi-threaded (same block ops, par over rows in X)
- all dense, sparse-dense factors, sparse/dense-*, 1 pattern
-
-
\ No newline at end of file
+* 9) wumm ((a) X*uop(U%*%t(V)), (b) X/uop(U%*%t(V)))
+ - any unary operator, e.g., X*exp(U%*%t(V)) or X*(U%*%t(V))^2
+ - sequential / multi-threaded (same block ops, par over rows in X)
+ - all dense, sparse-dense factors, sparse/dense-*, 2 pattern