http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java index 89e2146..ae5bda3 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java @@ -38,7 +38,6 @@ import org.apache.sysml.hops.Hop.OpOp3; import org.apache.sysml.hops.Hop.OpOp4; import org.apache.sysml.hops.Hop.ParamBuiltinOp; import org.apache.sysml.hops.Hop.ReOrgOp; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.IndexingOp; import org.apache.sysml.hops.LeftIndexingOp; import org.apache.sysml.hops.LiteralOp; @@ -87,9 +86,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule private static OpOp2[] LOOKUP_VALID_WUMM_BINARY = new OpOp2[]{OpOp2.MULT, OpOp2.POW}; @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return roots; @@ -107,9 +104,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return root; @@ -133,10 +128,8 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * * @param hop high-level operator * @param descendFirst true if recursively process children first - * @throws HopsException if HopsException occurs */ private void rule_AlgebraicSimplification(Hop hop, boolean descendFirst) - throws HopsException { if(hop.isVisited()) return; @@ -207,7 +200,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop removeEmptyRightIndexing(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof IndexingOp && hi.getDataType()==DataType.MATRIX ) //indexing op { @@ -245,7 +237,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop removeEmptyLeftIndexing(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof LeftIndexingOp && hi.getDataType() == DataType.MATRIX ) //left indexing op { @@ -449,7 +440,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private static Hop removeUnnecessaryIfElseOperation(Hop parent, Hop hi, int pos) throws HopsException + private static Hop removeUnnecessaryIfElseOperation(Hop parent, Hop hi, int pos) { if( !HopRewriteUtils.isTernary(hi, OpOp3.IFELSE) ) return hi; @@ -530,9 +521,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private static Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) - throws HopsException - { + private static Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) { if( hi instanceof AggUnaryOp ) { AggUnaryOp uhi = (AggUnaryOp)hi; @@ -594,9 +583,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private static Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) - throws HopsException - { + private static Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) { if( hi instanceof AggUnaryOp ) { AggUnaryOp uhi = (AggUnaryOp)hi; @@ -661,7 +648,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyColSumsMVMult( Hop parent, Hop hi, int pos ) - throws HopsException { //colSums(X*Y) -> t(Y) %*% X, if Y col vector; additional transpose later //removed by other rewrite if unnecessary, i.e., if Y==t(Z) @@ -697,7 +683,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyRowSumsMVMult( Hop parent, Hop hi, int pos ) - throws HopsException { //rowSums(X * Y) -> X %*% t(Y), if Y row vector; additional transpose later //removed by other rewrite if unnecessary, i.e., if Y==t(Z) @@ -733,7 +718,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyUnnecessaryAggregate(Hop parent, Hop hi, int pos) - throws HopsException { //e.g., sum(X) -> as.scalar(X) if 1x1 (applies to sum, min, max, prod, trace) if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getDirection()==Direction.RowCol ) @@ -760,7 +744,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyEmptyAggregate(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof AggUnaryOp ) { @@ -790,7 +773,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyEmptyUnaryOperation(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof UnaryOp ) { @@ -815,7 +797,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyEmptyReorgOperation(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof ReorgOp ) { @@ -857,7 +838,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyEmptySortOperation(Hop parent, Hop hi, int pos) - throws HopsException { //order(X, indexreturn=FALSE) -> matrix(0,nrow(X),1) //order(X, indexreturn=TRUE) -> seq(1,nrow(X),1) @@ -895,9 +875,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private static Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) - throws HopsException - { + private static Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y -> matrix(0, ) { Hop left = hi.getInput().get(0); @@ -919,7 +897,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyIdentityRepMatrixMult(Hop parent, Hop hi, int pos) - throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y -> X, if y is matrix(1,1,1) { @@ -942,7 +919,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyScalarMatrixMult(Hop parent, Hop hi, int pos) - throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y { @@ -981,7 +957,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyMatrixMultDiag(Hop parent, Hop hi, int pos) - throws HopsException { Hop hnew = null; @@ -1233,10 +1208,8 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop simplifyWeightedSquaredLoss(Hop parent, Hop hi, int pos) - throws HopsException { //NOTE: there might be also a general simplification without custom operator //via (X-UVt)^2 -> X^2 - 2X*UVt + UVt^2 @@ -1424,7 +1397,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyWeightedSigmoidMMChains(Hop parent, Hop hi, int pos) - throws HopsException { Hop hnew = null; @@ -1559,9 +1531,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private static Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) - throws HopsException - { + private static Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) { Hop hnew = null; boolean appliedPattern = false; @@ -1875,7 +1845,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyWeightedCrossEntropy(Hop parent, Hop hi, int pos) - throws HopsException { Hop hnew = null; boolean appliedPattern = false; @@ -1951,9 +1920,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private static Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) - throws HopsException - { + private static Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) { Hop hnew = null; boolean appliedPattern = false; @@ -2103,11 +2070,8 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ - private static Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) - throws HopsException - { + private static Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) { //sum(v^2)/sum(v1*v2) --> as.scalar(t(v)%*%v) in order to exploit tsmm vector dotproduct //w/o materialization of intermediates if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getOp()==AggOp.SUM //sum @@ -2176,11 +2140,8 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @param pos Position of hi in parent's list of inputs. * * @return Either hi or the rewritten HOP replacing it. - * - * @throws HopsException if HopsException occurs */ - private static Hop fuseSumSquared(Hop parent, Hop hi, int pos) - throws HopsException { + private static Hop fuseSumSquared(Hop parent, Hop hi, int pos) { // if SUM if (hi instanceof AggUnaryOp && ((AggUnaryOp) hi).getOp() == AggOp.SUM) { Hop sumInput = hi.getInput().get(0); @@ -2267,7 +2228,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyEmptyBinaryOperation(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof BinaryOp ) //b(?) X Y { @@ -2347,11 +2307,9 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ @SuppressWarnings("unchecked") private static Hop reorderMinusMatrixMult(Hop parent, Hop hi, int pos) - throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y { @@ -2486,7 +2444,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyScalarMVBinaryOperation(Hop hi) - throws HopsException { if( hi instanceof BinaryOp && ((BinaryOp)hi).supportsMatrixScalarOperations() //e.g., X * s && hi.getInput().get(0).getDataType()==DataType.MATRIX @@ -2509,7 +2466,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyNnzComputation(Hop parent, Hop hi, int pos) - throws HopsException { //sum(ppred(X,0,"!=")) -> literal(nnz(X)), if nnz known if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getOp()==AggOp.SUM //sum @@ -2544,7 +2500,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyNrowNcolComputation(Hop parent, Hop hi, int pos) - throws HopsException { //nrow(X) -> literal(nrow(X)), ncol(X) -> literal(ncol(X)), if respective dims known //(this rewrite aims to remove unnecessary data dependencies to X which trigger computation @@ -2573,7 +2528,6 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } private static Hop simplifyTableSeqExpand(Hop parent, Hop hi, int pos) - throws HopsException { //pattern: table(seq(1,nrow(v)), v, nrow(v), m) -> rexpand(v, max=m, dir=row, ignore=false, cast=true) //note: this rewrite supports both left/right sequence
http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java index 3a3235d..a75167c 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java @@ -41,7 +41,6 @@ import org.apache.sysml.hops.Hop.OpOp3; import org.apache.sysml.hops.Hop.OpOpN; import org.apache.sysml.hops.Hop.ParamBuiltinOp; import org.apache.sysml.hops.Hop.ReOrgOp; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LiteralOp; import org.apache.sysml.hops.NaryOp; import org.apache.sysml.hops.OptimizerUtils; @@ -82,7 +81,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule @Override public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException { if( roots == null ) return roots; @@ -102,7 +100,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule @Override public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException { if( root == null ) return root; @@ -127,10 +124,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * * @param hop high-level operator * @param descendFirst if process children recursively first - * @throws HopsException if HopsException occurs */ private void rule_AlgebraicSimplification(Hop hop, boolean descendFirst) - throws HopsException { if(hop.isVisited()) return; @@ -260,10 +255,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop removeUnnecessaryBinaryOperation( Hop parent, Hop hi, int pos ) - throws HopsException { if( hi instanceof BinaryOp ) { @@ -348,11 +341,9 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * * @param hi high-order operation * @return high-level operator - * @throws HopsException if HopsException occurs */ @SuppressWarnings("incomplete-switch") private static Hop fuseDatagenAndBinaryOperation( Hop hi ) - throws HopsException { if( hi instanceof BinaryOp ) { @@ -480,7 +471,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop fuseDatagenAndMinusOperation( Hop hi ) - throws HopsException { if( hi instanceof BinaryOp ) { @@ -530,7 +520,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop foldMultipleAppendOperations(Hop hi) - throws HopsException { if( hi.getDataType().isMatrix() //no string appends or frames && (HopRewriteUtils.isBinary(hi, OpOp2.CBIND, OpOp2.RBIND) @@ -588,10 +577,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop simplifyBinaryToUnaryOperation( Hop parent, Hop hi, int pos ) - throws HopsException { if( hi instanceof BinaryOp ) { @@ -648,10 +635,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * * @param hi high-level operator * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop canonicalizeMatrixMultScalarAdd( Hop hi ) - throws HopsException { //pattern: binary operation (+ or -) of matrix mult and scalar if( hi instanceof BinaryOp ) @@ -684,7 +669,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifyCTableWithConstMatrixInputs( Hop hi ) - throws HopsException { //pattern: table(X, matrix(1,...), matrix(7, ...)) -> table(X, 1, 7) if( HopRewriteUtils.isTernary(hi, OpOp3.CTABLE) ) { @@ -711,10 +695,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop simplifyReverseOperation( Hop parent, Hop hi, int pos ) - throws HopsException { if( hi instanceof AggBinaryOp && hi.getInput().get(0) instanceof TernaryOp ) @@ -970,7 +952,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifyBinaryMatrixScalarOperation( Hop parent, Hop hi, int pos ) - throws HopsException { // Note: This rewrite is not applicable for all binary operations because some of them // are undefined over scalars. We explicitly exclude potential conflicting matrix-scalar binary @@ -1083,7 +1064,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private static Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) throws HopsException { + private static Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) { //pattern: sum(lamda*X) -> lamda*sum(X) if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getDirection()==Direction.RowCol && ((AggUnaryOp)hi).getOp()==Hop.AggOp.SUM // only one parent which is the sum @@ -1173,10 +1154,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param parent parent high-level operator * @param hi high-level operator * @param pos position - * @throws HopsException if HopsException occurs */ private static Hop fuseBinarySubDAGToUnaryOperation( Hop parent, Hop hi, int pos ) - throws HopsException { if( hi instanceof BinaryOp ) { @@ -1361,7 +1340,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifySlicedMatrixMult(Hop parent, Hop hi, int pos) - throws HopsException { //e.g., (X%*%Y)[1,1] -> X[1,] %*% Y[,1] if( hi instanceof IndexingOp @@ -1402,7 +1380,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifyConstantSort(Hop parent, Hop hi, int pos) - throws HopsException { //order(matrix(7), indexreturn=FALSE) -> matrix(7) //order(matrix(7), indexreturn=TRUE) -> seq(1,nrow(X),1) @@ -1441,7 +1418,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifyOrderedSort(Hop parent, Hop hi, int pos) - throws HopsException { //order(seq(2,N+1,1), indexreturn=FALSE) -> matrix(7) //order(seq(2,N+1,1), indexreturn=TRUE) -> seq(1,N,1)/seq(N,1,-1) @@ -1486,7 +1462,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop fuseOrderOperationChain(Hop hi) - throws HopsException { //order(order(X,2),1) -> order(X, (12)), if( HopRewriteUtils.isReorg(hi, ReOrgOp.SORT) @@ -1550,10 +1525,8 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ private static Hop simplifyTransposeAggBinBinaryChains(Hop parent, Hop hi, int pos) - throws HopsException { if( HopRewriteUtils.isTransposeOperation(hi) && hi.getInput().get(0) instanceof BinaryOp //basic binary @@ -1588,7 +1561,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule // Patterns: X + (X==0) * s -> replace(X, 0, s) private static Hop simplifyReplaceZeroOperation(Hop parent, Hop hi, int pos) - throws HopsException { if( HopRewriteUtils.isBinary(hi, OpOp2.PLUS) && hi.getInput().get(0).isMatrix() && HopRewriteUtils.isBinary(hi.getInput().get(1), OpOp2.MULT) @@ -1641,7 +1613,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop removeUnnecessaryMinus(Hop parent, Hop hi, int pos) - throws HopsException { if( hi.getDataType() == DataType.MATRIX && hi instanceof BinaryOp && ((BinaryOp)hi).getOp()==OpOp2.MINUS //first minus @@ -1696,7 +1667,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop fuseMinusNzBinaryOperation(Hop parent, Hop hi, int pos) - throws HopsException { //pattern X - (s * ppred(X,0,!=)) -> X -nz s //note: this is done as a hop rewrite in order to significantly reduce the @@ -1730,7 +1700,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop fuseLogNzUnaryOperation(Hop parent, Hop hi, int pos) - throws HopsException { //pattern ppred(X,0,"!=")*log(X) -> log_nz(X) //note: this is done as a hop rewrite in order to significantly reduce the @@ -1762,7 +1731,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop fuseLogNzBinaryOperation(Hop parent, Hop hi, int pos) - throws HopsException { //pattern ppred(X,0,"!=")*log(X,0.5) -> log_nz(X,0.5) //note: this is done as a hop rewrite in order to significantly reduce the @@ -1795,7 +1763,6 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule } private static Hop simplifyOuterSeqExpand(Hop parent, Hop hi, int pos) - throws HopsException { //pattern: outer(v, t(seq(1,m)), "==") -> rexpand(v, max=m, dir=row, ignore=true, cast=false) //note: this rewrite supports both left/right sequence @@ -1848,11 +1815,9 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param hi high-level operator * @param pos position * @return high-level operator - * @throws HopsException if HopsException occurs */ @SuppressWarnings("unused") private static Hop removeUnecessaryPPred(Hop parent, Hop hi, int pos) - throws HopsException { if( hi instanceof BinaryOp ) { http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteBlockSizeAndReblock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteBlockSizeAndReblock.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteBlockSizeAndReblock.java index 245a333..2c102cc 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteBlockSizeAndReblock.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteBlockSizeAndReblock.java @@ -43,7 +43,6 @@ public class RewriteBlockSizeAndReblock extends HopRewriteRule @Override public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException { if( roots == null ) return null; @@ -61,7 +60,6 @@ public class RewriteBlockSizeAndReblock extends HopRewriteRule @Override public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException { if( root == null ) return null; @@ -77,7 +75,6 @@ public class RewriteBlockSizeAndReblock extends HopRewriteRule } private void rule_BlockSizeAndReblock(Hop hop, final int blocksize) - throws HopsException { // Go to the source(s) of the DAG for (Hop hi : hop.getInput()) { http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteCommonSubexpressionElimination.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteCommonSubexpressionElimination.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteCommonSubexpressionElimination.java index f8d812a..686c563 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteCommonSubexpressionElimination.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteCommonSubexpressionElimination.java @@ -24,7 +24,6 @@ import java.util.HashMap; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LiteralOp; /** @@ -51,7 +50,6 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule @Override public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException { if( roots == null ) return null; @@ -63,7 +61,7 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule int cseMerged = 0; if( _mergeLeafs ) { cseMerged += rule_CommonSubexpressionElimination_MergeLeafs(h, dataops, literalops); - h.resetVisitStatus(); + h.resetVisitStatus(); } cseMerged += rule_CommonSubexpressionElimination(h); @@ -76,7 +74,6 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule @Override public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException { if( root == null ) return null; @@ -97,7 +94,6 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule } private int rule_CommonSubexpressionElimination_MergeLeafs( Hop hop, HashMap<String, Hop> dataops, HashMap<String, Hop> literalops ) - throws HopsException { int ret = 0; if( hop.isVisited() ) @@ -159,7 +155,6 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule } private int rule_CommonSubexpressionElimination( Hop hop ) - throws HopsException { int ret = 0; if( hop.isVisited() ) @@ -219,5 +214,4 @@ public class RewriteCommonSubexpressionElimination extends HopRewriteRule return ret; } - } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteCompressedReblock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteCompressedReblock.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteCompressedReblock.java index b24a178..ff310dd 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteCompressedReblock.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteCompressedReblock.java @@ -29,7 +29,6 @@ import org.apache.sysml.conf.DMLConfig; import org.apache.sysml.hops.AggBinaryOp; import org.apache.sysml.hops.FunctionOp; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.OptimizerUtils; import org.apache.sysml.hops.Hop.AggOp; import org.apache.sysml.hops.Hop.DataOpTypes; @@ -69,7 +68,6 @@ public class RewriteCompressedReblock extends StatementBlockRewriteRule @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate) - throws HopsException { //check for inapplicable statement blocks if( !HopRewriteUtils.isLastLevelStatementBlock(sb) @@ -92,15 +90,11 @@ public class RewriteCompressedReblock extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) - throws HopsException - { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } - private static void injectCompressionDirective(Hop hop, CompressConfig compress, DMLProgram prog) - throws HopsException - { + private static void injectCompressionDirective(Hop hop, CompressConfig compress, DMLProgram prog) { if( hop.isVisited() || hop.requiresCompression() ) return; @@ -122,9 +116,7 @@ public class RewriteCompressedReblock extends StatementBlockRewriteRule && hop.getDim1() > 1 && hop.getDim2() > 1; //multi-column matrix } - private static boolean satisfiesAutoCompressionCondition(Hop hop, DMLProgram prog) - throws HopsException - { + private static boolean satisfiesAutoCompressionCondition(Hop hop, DMLProgram prog) { //check for basic compression condition if( !(satisfiesCompressionCondition(hop) && OptimizerUtils.isSparkExecutionMode()) ) @@ -169,7 +161,6 @@ public class RewriteCompressedReblock extends StatementBlockRewriteRule } private static void rAnalyzeProgram(StatementBlock sb, ProbeStatus status) - throws HopsException { if(sb instanceof FunctionStatementBlock) { FunctionStatementBlock fsb = (FunctionStatementBlock) sb; @@ -216,7 +207,6 @@ public class RewriteCompressedReblock extends StatementBlockRewriteRule } private static void rAnalyzeHopDag(Hop current, ProbeStatus status) - throws HopsException { if( current.isVisited() ) return; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java index 7684c78..9a1e76d 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java @@ -19,7 +19,6 @@ package org.apache.sysml.hops.rewrite; -import java.io.IOException; import java.util.ArrayList; import org.apache.sysml.conf.ConfigurationManager; @@ -34,10 +33,8 @@ import org.apache.sysml.hops.LiteralOp; import org.apache.sysml.hops.UnaryOp; import org.apache.sysml.hops.recompile.Recompiler; import org.apache.sysml.lops.Lop; -import org.apache.sysml.lops.LopsException; import org.apache.sysml.lops.compile.Dag; import org.apache.sysml.parser.Expression.DataType; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.Program; import org.apache.sysml.runtime.controlprogram.ProgramBlock; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; @@ -62,39 +59,28 @@ public class RewriteConstantFolding extends HopRewriteRule @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return null; - for( int i=0; i<roots.size(); i++ ) { Hop h = roots.get(i); roots.set(i, rule_ConstantFolding(h)); } - return roots; } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return null; - return rule_ConstantFolding(root); } - private Hop rule_ConstantFolding( Hop hop ) - throws HopsException - { + private Hop rule_ConstantFolding( Hop hop ) { return rConstantFoldingExpression(hop); } - private Hop rConstantFoldingExpression( Hop root ) - throws HopsException - { + private Hop rConstantFoldingExpression( Hop root ) { if( root.isVisited() ) return root; @@ -175,13 +161,8 @@ public class RewriteConstantFolding extends HopRewriteRule * * @param bop high-level operator * @return literal op - * @throws LopsException if LopsException occurs - * @throws DMLRuntimeException if DMLRuntimeException occurs - * @throws IOException if IOException occurs - * @throws HopsException if HopsException occurs */ private LiteralOp evalScalarOperation( Hop bop ) - throws LopsException, DMLRuntimeException, IOException, HopsException { //Timing time = new Timing( true ); @@ -228,16 +209,13 @@ public class RewriteConstantFolding extends HopRewriteRule return literal; } - private ProgramBlock getProgramBlock() - throws DMLRuntimeException - { + private ProgramBlock getProgramBlock() { if( _tmpPB == null ) _tmpPB = new ProgramBlock( new Program() ); return _tmpPB; } - private ExecutionContext getExecutionContext() - { + private ExecutionContext getExecutionContext() { if( _tmpEC == null ) _tmpEC = ExecutionContextFactory.createContext(); return _tmpEC; @@ -266,14 +244,14 @@ public class RewriteConstantFolding extends HopRewriteRule && hop.getDataType() == DataType.SCALAR); } - private static boolean isApplicableFalseConjunctivePredicate( Hop hop ) throws HopsException { + private static boolean isApplicableFalseConjunctivePredicate( Hop hop ) { ArrayList<Hop> in = hop.getInput(); return ( HopRewriteUtils.isBinary(hop, OpOp2.AND) && hop.getDataType().isScalar() && ( (in.get(0) instanceof LiteralOp && !((LiteralOp)in.get(0)).getBooleanValue()) ||(in.get(1) instanceof LiteralOp && !((LiteralOp)in.get(1)).getBooleanValue())) ); } - private static boolean isApplicableTrueDisjunctivePredicate( Hop hop ) throws HopsException { + private static boolean isApplicableTrueDisjunctivePredicate( Hop hop ) { ArrayList<Hop> in = hop.getInput(); return ( HopRewriteUtils.isBinary(hop, OpOp2.OR) && hop.getDataType().isScalar() && ( (in.get(0) instanceof LiteralOp && ((LiteralOp)in.get(0)).getBooleanValue()) http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteElementwiseMultChainOptimization.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteElementwiseMultChainOptimization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteElementwiseMultChainOptimization.java index ca7ef2e..a5d8b06 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteElementwiseMultChainOptimization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteElementwiseMultChainOptimization.java @@ -31,7 +31,6 @@ import java.util.TreeSet; import org.apache.sysml.hops.BinaryOp; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LiteralOp; import org.apache.sysml.parser.Expression; @@ -56,7 +55,7 @@ import org.apache.sysml.parser.Expression; */ public class RewriteElementwiseMultChainOptimization extends HopRewriteRule { @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) throws HopsException { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return null; for( int i=0; i<roots.size(); i++ ) { @@ -67,7 +66,7 @@ public class RewriteElementwiseMultChainOptimization extends HopRewriteRule { } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) throws HopsException { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return null; return rule_RewriteEMult(root); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java index cade354..0064a6c 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java @@ -29,7 +29,6 @@ import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.AggOp; import org.apache.sysml.hops.Hop.Direction; import org.apache.sysml.hops.Hop.OpOp1; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.IndexingOp; import org.apache.sysml.hops.LeftIndexingOp; import org.apache.sysml.hops.LiteralOp; @@ -60,7 +59,6 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) - throws HopsException { if( sb instanceof ForStatementBlock ) { @@ -102,13 +100,11 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } private static StatementBlock vectorizeScalarAggregate( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) - throws HopsException { StatementBlock ret = sb; @@ -210,7 +206,6 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule } private static StatementBlock vectorizeElementwiseBinary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) - throws HopsException { StatementBlock ret = sb; @@ -294,7 +289,6 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule } private static StatementBlock vectorizeElementwiseUnary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) - throws HopsException { StatementBlock ret = sb; @@ -354,7 +348,6 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule } private static StatementBlock vectorizeIndexedCopy( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) - throws HopsException { StatementBlock ret = sb; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java index e2097e2..621daae 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java @@ -26,7 +26,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.OpOp2; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.IndexingOp; import org.apache.sysml.hops.LeftIndexingOp; import org.apache.sysml.hops.LiteralOp; @@ -47,33 +46,23 @@ public class RewriteIndexingVectorization extends HopRewriteRule private static final Log LOG = LogFactory.getLog(RewriteIndexingVectorization.class.getName()); @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return roots; - for( Hop h : roots ) rule_IndexingVectorization( h ); - return roots; } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return root; - rule_IndexingVectorization( root ); - return root; } - private void rule_IndexingVectorization( Hop hop ) - throws HopsException - { + private void rule_IndexingVectorization( Hop hop ) { if(hop.isVisited()) return; @@ -96,9 +85,7 @@ public class RewriteIndexingVectorization extends HopRewriteRule hop.setVisited(); } - private static Hop vectorizeRightLeftIndexingChains(Hop hi) - throws HopsException - { + private static Hop vectorizeRightLeftIndexingChains(Hop hi) { //check for valid root operator if( !(hi instanceof LeftIndexingOp && hi.getInput().get(1) instanceof IndexingOp @@ -184,11 +171,9 @@ public class RewriteIndexingVectorization extends HopRewriteRule * dynamic rewrites * * @param hop high-level operator - * @throws HopsException if HopsException occurs */ @SuppressWarnings("unused") private static void vectorizeRightIndexing( Hop hop ) - throws HopsException { if( hop instanceof IndexingOp ) //right indexing { @@ -276,7 +261,6 @@ public class RewriteIndexingVectorization extends HopRewriteRule @SuppressWarnings("unchecked") private static Hop vectorizeLeftIndexing( Hop hop ) - throws HopsException { Hop ret = hop; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkLoopCheckpointing.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkLoopCheckpointing.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkLoopCheckpointing.java index 50a5579..6c3ad76 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkLoopCheckpointing.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkLoopCheckpointing.java @@ -25,7 +25,6 @@ import java.util.List; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.Hop.DataOpTypes; import org.apache.sysml.hops.OptimizerUtils; import org.apache.sysml.parser.DataIdentifier; @@ -60,7 +59,6 @@ public class RewriteInjectSparkLoopCheckpointing extends StatementBlockRewriteRu @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status) - throws HopsException { if( !OptimizerUtils.isSparkExecutionMode() ) { // nothing to do here, return original statement block @@ -130,8 +128,7 @@ public class RewriteInjectSparkLoopCheckpointing extends StatementBlockRewriteRu } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkPReadCheckpointing.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkPReadCheckpointing.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkPReadCheckpointing.java index 7ee3506..3f43431 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkPReadCheckpointing.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteInjectSparkPReadCheckpointing.java @@ -24,7 +24,6 @@ import java.util.ArrayList; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.DataOpTypes; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.OptimizerUtils; /** @@ -36,9 +35,7 @@ import org.apache.sysml.hops.OptimizerUtils; public class RewriteInjectSparkPReadCheckpointing extends HopRewriteRule { @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( !OptimizerUtils.isSparkExecutionMode() ) return roots; @@ -53,15 +50,12 @@ public class RewriteInjectSparkPReadCheckpointing extends HopRewriteRule } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { //not applicable to predicates (we do not allow persistent reads there) return root; } private void rInjectCheckpointAfterPRead( Hop hop ) - throws HopsException { if(hop.isVisited()) return; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java index 79683fb..c3dd512 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java @@ -28,7 +28,6 @@ import org.apache.sysml.api.DMLScript.RUNTIME_PLATFORM; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.OpOp1; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LeftIndexingOp; import org.apache.sysml.hops.UnaryOp; import org.apache.sysml.parser.ForStatement; @@ -55,7 +54,6 @@ public class RewriteMarkLoopVariablesUpdateInPlace extends StatementBlockRewrite @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus status) - throws HopsException { if( DMLScript.rtplatform == RUNTIME_PLATFORM.HADOOP || DMLScript.rtplatform == RUNTIME_PLATFORM.SPARK ) @@ -95,7 +93,6 @@ public class RewriteMarkLoopVariablesUpdateInPlace extends StatementBlockRewrite } private boolean rIsApplicableForUpdateInPlace( ArrayList<StatementBlock> sbs, String varname ) - throws HopsException { //NOTE: no function statement blocks / predicates considered because function call would //render variable as not applicable and predicates don't allow assignments; further reuse @@ -157,8 +154,7 @@ public class RewriteMarkLoopVariablesUpdateInPlace extends StatementBlockRewrite } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java index e8510d4..91033c4 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java @@ -55,7 +55,6 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule @Override public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException { if( roots == null ) return null; @@ -69,7 +68,6 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule @Override public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException { if( root == null ) return null; @@ -85,10 +83,8 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule * to find chains that need to be optimized. * * @param hop high-level operator - * @throws HopsException if HopsException occurs */ private void rule_OptimizeMMChains(Hop hop) - throws HopsException { if( hop.isVisited() ) return; @@ -116,9 +112,8 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule * mmChain. * * @param hop high-level operator - * @throws HopsException if HopsException occurs */ - private void optimizeMMChain( Hop hop ) throws HopsException + private void optimizeMMChain( Hop hop ) { if( LOG.isTraceEnabled() ) { LOG.trace("MM Chain Optimization for HOP: (" + hop.getClass().getSimpleName() @@ -326,7 +321,6 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule } private static void clearLinksWithinChain( Hop hop, ArrayList<Hop> operators ) - throws HopsException { for( int i=0; i < operators.size(); i++ ) { Hop op = operators.get(i); @@ -352,10 +346,8 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule * @param chain list of high-level operators * @param dimArray dimension array * @return true if all dimensions known - * @throws HopsException if HopsException occurs */ private static boolean getDimsArray( Hop hop, ArrayList<Hop> chain, double[] dimsArray ) - throws HopsException { boolean dimsKnown = true; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteMergeBlockSequence.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMergeBlockSequence.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMergeBlockSequence.java index 9c2d715..0ddba21 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMergeBlockSequence.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMergeBlockSequence.java @@ -28,7 +28,6 @@ import java.util.List; import org.apache.sysml.hops.FunctionOp; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.DataOpTypes; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.parser.ExternalFunctionStatement; import org.apache.sysml.parser.FunctionStatementBlock; import org.apache.sysml.parser.StatementBlock; @@ -51,13 +50,13 @@ public class RewriteMergeBlockSequence extends StatementBlockRewriteRule @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, - ProgramRewriteStatus state) throws HopsException { + ProgramRewriteStatus state) { return Arrays.asList(sb); } @Override public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException + ProgramRewriteStatus sate) { if( sbs == null || sbs.isEmpty() ) return sbs; @@ -174,8 +173,7 @@ public class RewriteMergeBlockSequence extends StatementBlockRewriteRule current.setVisited(); } - private static boolean hasFunctionOpRoot(StatementBlock sb) - throws HopsException { + private static boolean hasFunctionOpRoot(StatementBlock sb) { if( sb == null || sb.getHops() == null ) return false; boolean ret = false; @@ -184,8 +182,7 @@ public class RewriteMergeBlockSequence extends StatementBlockRewriteRule return ret; } - private static boolean hasExternalFunctionOpRootWithSideEffect(StatementBlock sb) - throws HopsException { + private static boolean hasExternalFunctionOpRootWithSideEffect(StatementBlock sb) { if( sb == null || sb.getHops() == null ) return false; for( Hop root : sb.getHops() ) @@ -202,7 +199,6 @@ public class RewriteMergeBlockSequence extends StatementBlockRewriteRule } private static boolean hasFunctionIOConflict(StatementBlock sb1, StatementBlock sb2) - throws HopsException { //semantics: a function op root in sb1 conflicts with sb2 if this function op writes //to a variable that is read or written by sb2, where the write might be either http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveDanglingParentReferences.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveDanglingParentReferences.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveDanglingParentReferences.java index 824c56b..926e53c 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveDanglingParentReferences.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveDanglingParentReferences.java @@ -27,7 +27,6 @@ import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.DataOpTypes; import org.apache.sysml.hops.Hop.OpOpN; import org.apache.sysml.hops.Hop.OpOp1; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.NaryOp; import org.apache.sysml.hops.UnaryOp; @@ -41,9 +40,7 @@ import org.apache.sysml.hops.UnaryOp; public class RewriteRemoveDanglingParentReferences extends HopRewriteRule { @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return null; @@ -58,9 +55,7 @@ public class RewriteRemoveDanglingParentReferences extends HopRewriteRule } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return root; @@ -74,9 +69,7 @@ public class RewriteRemoveDanglingParentReferences extends HopRewriteRule return root; } - private int removeDanglingParentReferences( Hop hop, boolean pin ) - throws HopsException - { + private int removeDanglingParentReferences( Hop hop, boolean pin ) { //check mark processed if( hop.isVisited() ) return 0; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveEmptyBasicBlocks.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveEmptyBasicBlocks.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveEmptyBasicBlocks.java index b03763c..c4ba9f9 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveEmptyBasicBlocks.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveEmptyBasicBlocks.java @@ -22,7 +22,6 @@ package org.apache.sysml.hops.rewrite; import java.util.ArrayList; import java.util.List; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.parser.StatementBlock; /** @@ -38,9 +37,7 @@ public class RewriteRemoveEmptyBasicBlocks extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) - throws HopsException - { + public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) { ArrayList<StatementBlock> ret = new ArrayList<>(); //prune last level blocks with empty hops @@ -56,8 +53,7 @@ public class RewriteRemoveEmptyBasicBlocks extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) - throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemovePersistentReadWrite.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemovePersistentReadWrite.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemovePersistentReadWrite.java index ec5c6c0..79aca58 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemovePersistentReadWrite.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemovePersistentReadWrite.java @@ -28,7 +28,6 @@ import org.apache.commons.logging.LogFactory; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.DataOpTypes; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.parser.Expression.DataType; import org.apache.sysml.runtime.controlprogram.LocalVariableMap; import org.apache.sysml.runtime.controlprogram.caching.CacheableData; @@ -78,33 +77,23 @@ public class RewriteRemovePersistentReadWrite extends HopRewriteRule } @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return null; - for( Hop h : roots ) rule_RemovePersistentDataOp( h ); - return roots; } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return root; - rule_RemovePersistentDataOp( root ); - return root; } - private void rule_RemovePersistentDataOp( Hop hop ) - throws HopsException - { + private void rule_RemovePersistentDataOp( Hop hop ) { //check mark processed if( hop.isVisited() ) return; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveReadAfterWrite.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveReadAfterWrite.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveReadAfterWrite.java index c53d59d..5963871 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveReadAfterWrite.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveReadAfterWrite.java @@ -26,7 +26,6 @@ import java.util.Map.Entry; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.DataOpTypes; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LiteralOp; import org.apache.sysml.parser.DataExpression; @@ -44,7 +43,6 @@ public class RewriteRemoveReadAfterWrite extends HopRewriteRule @Override @SuppressWarnings("unchecked") public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException { if( roots == null ) return null; @@ -78,17 +76,12 @@ public class RewriteRemoveReadAfterWrite extends HopRewriteRule } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { //do noting, read/write do not occur in predicates - return root; } - private void collectPersistentReadWriteOps(Hop hop, HashMap<String,Hop> pWrites, HashMap<String,Hop> pReads) - throws HopsException - { + private void collectPersistentReadWriteOps(Hop hop, HashMap<String,Hop> pWrites, HashMap<String,Hop> pReads) { if( hop.isVisited() ) return; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryBranches.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryBranches.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryBranches.java index 094adb0..619a084 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryBranches.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryBranches.java @@ -23,7 +23,6 @@ import java.util.ArrayList; import java.util.List; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.LiteralOp; import org.apache.sysml.parser.IfStatement; import org.apache.sysml.parser.IfStatementBlock; @@ -44,7 +43,6 @@ public class RewriteRemoveUnnecessaryBranches extends StatementBlockRewriteRule @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) - throws HopsException { ArrayList<StatementBlock> ret = new ArrayList<>(); @@ -88,8 +86,7 @@ public class RewriteRemoveUnnecessaryBranches extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryCasts.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryCasts.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryCasts.java index e657f7f..224affe 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryCasts.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteRemoveUnnecessaryCasts.java @@ -22,7 +22,6 @@ package org.apache.sysml.hops.rewrite; import java.util.ArrayList; import org.apache.sysml.hops.Hop; import org.apache.sysml.hops.Hop.OpOp1; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.UnaryOp; import org.apache.sysml.parser.Expression.ValueType; @@ -43,29 +42,20 @@ import org.apache.sysml.parser.Expression.ValueType; */ public class RewriteRemoveUnnecessaryCasts extends HopRewriteRule { - @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { if( roots == null ) return null; - for( Hop h : roots ) rule_RemoveUnnecessaryCasts( h ); - return roots; } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { if( root == null ) return root; - rule_RemoveUnnecessaryCasts( root ); - return root; } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java index b7ab7d1..a758ee0 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java @@ -79,7 +79,6 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) - throws HopsException { //DAG splits not required for forced single node if( DMLScript.rtplatform == RUNTIME_PLATFORM.SINGLE_NODE @@ -482,8 +481,7 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java index 3e423b8..30631d6 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagUnknownCSVRead.java @@ -52,7 +52,6 @@ public class RewriteSplitDagUnknownCSVRead extends StatementBlockRewriteRule @Override public List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus state) - throws HopsException { //DAG splits not required for forced single node if( DMLScript.rtplatform == RUNTIME_PLATFORM.SINGLE_NODE @@ -145,15 +144,13 @@ public class RewriteSplitDagUnknownCSVRead extends StatementBlockRewriteRule } @Override - public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, - ProgramRewriteStatus sate) throws HopsException { + public List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) { return sbs; } private void collectCSVReadHopsUnknownSize( ArrayList<Hop> roots, ArrayList<Hop> cand ) { if( roots == null ) return; - Hop.resetVisitStatus(roots); for( Hop root : roots ) collectCSVReadHopsUnknownSize(root, cand); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/RewriteTransientWriteParentHandling.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/RewriteTransientWriteParentHandling.java b/src/main/java/org/apache/sysml/hops/rewrite/RewriteTransientWriteParentHandling.java index 4e16084..994132b 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteTransientWriteParentHandling.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteTransientWriteParentHandling.java @@ -23,7 +23,6 @@ import java.util.ArrayList; import org.apache.sysml.hops.DataOp; import org.apache.sysml.hops.Hop; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.hops.Hop.DataOpTypes; /** @@ -35,27 +34,20 @@ import org.apache.sysml.hops.Hop.DataOpTypes; */ public class RewriteTransientWriteParentHandling extends HopRewriteRule { - @Override - public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) - throws HopsException - { + public ArrayList<Hop> rewriteHopDAGs(ArrayList<Hop> roots, ProgramRewriteStatus state) { for (Hop h : roots) rule_RehangTransientWriteParents(h, roots); - return roots; } @Override - public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) - throws HopsException - { - // do nothing (does not apply to predicate hop DAGs) + public Hop rewriteHopDAG(Hop root, ProgramRewriteStatus state) { + // do nothing (does not apply to predicate hop DAGs) return root; } private void rule_RehangTransientWriteParents(Hop hop, ArrayList<Hop> sbHops) - throws HopsException { if (hop instanceof DataOp && ((DataOp) hop).getDataOpType() == DataOpTypes.TRANSIENTWRITE && !hop.getParent().isEmpty()) { http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/hops/rewrite/StatementBlockRewriteRule.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/rewrite/StatementBlockRewriteRule.java b/src/main/java/org/apache/sysml/hops/rewrite/StatementBlockRewriteRule.java index ff2d5bf..fe8d111 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/StatementBlockRewriteRule.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/StatementBlockRewriteRule.java @@ -24,7 +24,6 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.sysml.hops.HopsException; import org.apache.sysml.parser.StatementBlock; /** @@ -52,10 +51,8 @@ public abstract class StatementBlockRewriteRule * @param sb statement block * @param sate program rewrite status * @return list of statement blocks - * @throws HopsException if HopsException occurs */ - public abstract List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate) - throws HopsException; + public abstract List<StatementBlock> rewriteStatementBlock(StatementBlock sb, ProgramRewriteStatus sate); /** * Handle a list of statement blocks. Specific type constraints have to be ensured @@ -65,8 +62,6 @@ public abstract class StatementBlockRewriteRule * @param sbs list of statement blocks * @param sate program rewrite status * @return list of statement blocks - * @throws HopsException if HopsException occurs */ - public abstract List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate) - throws HopsException; + public abstract List<StatementBlock> rewriteStatementBlocks(List<StatementBlock> sbs, ProgramRewriteStatus sate); } http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/Aggregate.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Aggregate.java b/src/main/java/org/apache/sysml/lops/Aggregate.java index f90e214..2631415 100644 --- a/src/main/java/org/apache/sysml/lops/Aggregate.java +++ b/src/main/java/org/apache/sysml/lops/Aggregate.java @@ -127,13 +127,12 @@ public class Aggregate extends Lop } @Override - public String getInstructions(int input_index, int output_index) throws LopsException { + public String getInstructions(int input_index, int output_index) { return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } @Override public String getInstructions(String input1, String output) - throws LopsException { boolean isCorrectionApplicable = (getExecType() == ExecType.MR && (operation == OperationTypes.Mean || operation == OperationTypes.Var http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/Append.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Append.java b/src/main/java/org/apache/sysml/lops/Append.java index f2b9896..ac96d89 100644 --- a/src/main/java/org/apache/sysml/lops/Append.java +++ b/src/main/java/org/apache/sysml/lops/Append.java @@ -67,9 +67,7 @@ public class Append extends Lop //called when append executes in CP @Override - public String getInstructions(String input1, String input2, String input3, String output) - throws LopsException - { + public String getInstructions(String input1, String input2, String input3, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( OPERAND_DELIMITOR ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/AppendG.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/AppendG.java b/src/main/java/org/apache/sysml/lops/AppendG.java index b412563..5483121 100644 --- a/src/main/java/org/apache/sysml/lops/AppendG.java +++ b/src/main/java/org/apache/sysml/lops/AppendG.java @@ -87,9 +87,7 @@ public class AppendG extends Lop //called when append executes in MR @Override - public String getInstructions(int input_index1, int input_index2, int input_index3, int input_index4, int output_index) - throws LopsException - { + public String getInstructions(int input_index1, int input_index2, int input_index3, int input_index4, int output_index) { return getInstructions( String.valueOf(input_index1), String.valueOf(input_index2), @@ -100,9 +98,7 @@ public class AppendG extends Lop //called when append executes in SP @Override - public String getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index) - throws LopsException - { + public String getInstructions(String input_index1, String input_index2, String input_index3, String input_index4, String output_index) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java b/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java index a591c3e..0e83ebb 100644 --- a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java +++ b/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java @@ -66,7 +66,6 @@ public class AppendGAlignedSP extends Lop //called when append executes in CP @Override public String getInstructions(String input_index1, String input_index2, String input_index3, String output_index) - throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/AppendM.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/AppendM.java b/src/main/java/org/apache/sysml/lops/AppendM.java index 0d71319..9ca8047 100644 --- a/src/main/java/org/apache/sysml/lops/AppendM.java +++ b/src/main/java/org/apache/sysml/lops/AppendM.java @@ -80,9 +80,7 @@ public class AppendM extends Lop //called when append executes in MR @Override - public String getInstructions(int input_index1, int input_index2, int input_index3, int output_index) - throws LopsException - { + public String getInstructions(int input_index1, int input_index2, int input_index3, int output_index) { return getInstructions( String.valueOf(input_index1), String.valueOf(input_index2), @@ -93,9 +91,7 @@ public class AppendM extends Lop //called when append executes in SP @Override - public String getInstructions(String input1, String input2, String input3, String output) - throws LopsException - { + public String getInstructions(String input1, String input2, String input3, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/AppendR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/AppendR.java b/src/main/java/org/apache/sysml/lops/AppendR.java index e8d55b4..0fbec7e 100644 --- a/src/main/java/org/apache/sysml/lops/AppendR.java +++ b/src/main/java/org/apache/sysml/lops/AppendR.java @@ -71,9 +71,7 @@ public class AppendR extends Lop //called when append executes in MR @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - throws LopsException - { + public String getInstructions(int input_index1, int input_index2, int output_index) { return getInstructions( String.valueOf(input_index1), String.valueOf(input_index2), @@ -82,9 +80,7 @@ public class AppendR extends Lop //called when append executes in CP @Override - public String getInstructions(String input1, String input2, String output) - throws LopsException - { + public String getInstructions(String input1, String input2, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/Binary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Binary.java b/src/main/java/org/apache/sysml/lops/Binary.java index d393ea2..26c9778 100644 --- a/src/main/java/org/apache/sysml/lops/Binary.java +++ b/src/main/java/org/apache/sysml/lops/Binary.java @@ -190,7 +190,7 @@ public class Binary extends Lop @Override - public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException { + public String getInstructions(int input_index1, int input_index2, int output_index) { return getInstructions( String.valueOf(input_index1), String.valueOf(input_index2), @@ -198,9 +198,7 @@ public class Binary extends Lop } @Override - public String getInstructions(String input1, String input2, String output) - throws LopsException - { + public String getInstructions(String input1, String input2, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( OPERAND_DELIMITOR ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/BinaryM.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/BinaryM.java b/src/main/java/org/apache/sysml/lops/BinaryM.java index d3183e6..08ab70e 100644 --- a/src/main/java/org/apache/sysml/lops/BinaryM.java +++ b/src/main/java/org/apache/sysml/lops/BinaryM.java @@ -59,9 +59,8 @@ public class BinaryM extends Lop * @param et exec type * @param partitioned true if partitioned * @param colVector true if colVector - * @throws LopsException if LopsException occurs */ - public BinaryM(Lop input1, Lop input2, OperationTypes op, DataType dt, ValueType vt, ExecType et, boolean partitioned, boolean colVector ) throws LopsException { + public BinaryM(Lop input1, Lop input2, OperationTypes op, DataType dt, ValueType vt, ExecType et, boolean partitioned, boolean colVector ) { super(Lop.Type.Binary, dt, vt); _operation = op; @@ -164,22 +163,21 @@ public class BinaryM extends Lop } } - public static boolean isOpcode(String opcode) - { + public static boolean isOpcode(String opcode) { return opcode.equals("map+") || opcode.equals("map-") || - opcode.equals("map*") || opcode.equals("map/") || - opcode.equals("map%%") || opcode.equals("map%/%") || - opcode.equals("map<") || opcode.equals("map<=") || - opcode.equals("map>") || opcode.equals("map>=") || - opcode.equals("map==") || opcode.equals("map!=") || - opcode.equals("map&&") || opcode.equals("map||") || - opcode.equals("mapmin") || opcode.equals("mapmax") || + opcode.equals("map*") || opcode.equals("map/") || + opcode.equals("map%%") || opcode.equals("map%/%") || + opcode.equals("map<") || opcode.equals("map<=") || + opcode.equals("map>") || opcode.equals("map>=") || + opcode.equals("map==") || opcode.equals("map!=") || + opcode.equals("map&&") || opcode.equals("map||") || + opcode.equals("mapmin") || opcode.equals("mapmax") || opcode.equals("map^") || opcode.equals("map1-*"); } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException { + public String getInstructions(int input_index1, int input_index2, int output_index) { return getInstructions( String.valueOf(input_index1), String.valueOf(input_index2), @@ -188,7 +186,6 @@ public class BinaryM extends Lop @Override public String getInstructions(String input1, String input2, String output) - throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/BinaryScalar.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/BinaryScalar.java b/src/main/java/org/apache/sysml/lops/BinaryScalar.java index f581a9a..5b5fe02 100644 --- a/src/main/java/org/apache/sysml/lops/BinaryScalar.java +++ b/src/main/java/org/apache/sysml/lops/BinaryScalar.java @@ -77,8 +77,7 @@ public class BinaryScalar extends Lop } @Override - public String getInstructions(String input1, String input2, String output) throws LopsException - { + public String getInstructions(String input1, String input2, String output) { StringBuilder sb = new StringBuilder(); sb.append(getExecType()); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java b/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java index e1b8968..388f4a4 100644 --- a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java +++ b/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java @@ -49,12 +49,9 @@ public class BinaryUAggChain extends Lop * @param dt data type * @param vt value type * @param et execution type - * @throws LopsException if LopsException occurs */ - public BinaryUAggChain(Lop input1, Binary.OperationTypes bop, Aggregate.OperationTypes uaop, PartialAggregate.DirectionTypes uadir, DataType dt, ValueType vt, ExecType et) - throws LopsException - { - super(Lop.Type.BinUaggChain, dt, vt); + public BinaryUAggChain(Lop input1, Binary.OperationTypes bop, Aggregate.OperationTypes uaop, PartialAggregate.DirectionTypes uadir, DataType dt, ValueType vt, ExecType et) { + super(Lop.Type.BinUaggChain, dt, vt); addInput(input1); //X input1.addOutput(this); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/CSVReBlock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CSVReBlock.java b/src/main/java/org/apache/sysml/lops/CSVReBlock.java index 1217cd1..92694b0 100644 --- a/src/main/java/org/apache/sysml/lops/CSVReBlock.java +++ b/src/main/java/org/apache/sysml/lops/CSVReBlock.java @@ -37,7 +37,7 @@ public class CSVReBlock extends Lop private int _rows_per_block; private int _cols_per_block; - public CSVReBlock(Lop input, int rows_per_block, int cols_per_block, DataType dt, ValueType vt, ExecType et) throws LopsException + public CSVReBlock(Lop input, int rows_per_block, int cols_per_block, DataType dt, ValueType vt, ExecType et) { super(Lop.Type.CSVReBlock, dt, vt); addInput(input); @@ -67,7 +67,7 @@ public class CSVReBlock extends Lop return "CSVReblock - rows per block = " + _rows_per_block + " cols per block " + _cols_per_block ; } - private String prepCSVProperties() throws LopsException { + private String prepCSVProperties() { StringBuilder sb = new StringBuilder(); Data dataInput = (Data)getInputs().get(0); @@ -110,12 +110,12 @@ public class CSVReBlock extends Lop } @Override - public String getInstructions(int input_index, int output_index) throws LopsException { + public String getInstructions(int input_index, int output_index) { return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } @Override - public String getInstructions(String input1, String output) throws LopsException { + public String getInstructions(String input1, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( Lop.OPERAND_DELIMITOR ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/Checkpoint.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Checkpoint.java b/src/main/java/org/apache/sysml/lops/Checkpoint.java index 84e1825..d469d7e 100644 --- a/src/main/java/org/apache/sysml/lops/Checkpoint.java +++ b/src/main/java/org/apache/sysml/lops/Checkpoint.java @@ -57,12 +57,9 @@ public class Checkpoint extends Lop * @param dt data type * @param vt value type * @param level storage level - * @throws LopsException if LopsException occurs */ - public Checkpoint(Lop input, DataType dt, ValueType vt, String level) - throws LopsException - { - super(Lop.Type.Checkpoint, dt, vt); + public Checkpoint(Lop input, DataType dt, ValueType vt, String level) { + super(Lop.Type.Checkpoint, dt, vt); this.addInput(input); input.addOutput(this); @@ -92,9 +89,7 @@ public class Checkpoint extends Lop } @Override - public String getInstructions(String input1, String output) - throws LopsException - { + public String getInstructions(String input1, String output) { //valid execution type if(getExecType() != ExecType.SPARK) { throw new LopsException("Wrong execution type for Checkpoint.getInstructions (expected: SPARK, found: "+getExecType()+")."); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/CoVariance.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CoVariance.java b/src/main/java/org/apache/sysml/lops/CoVariance.java index 8e84222..00a3bb6 100644 --- a/src/main/java/org/apache/sysml/lops/CoVariance.java +++ b/src/main/java/org/apache/sysml/lops/CoVariance.java @@ -32,23 +32,21 @@ import org.apache.sysml.parser.Expression.ValueType; public class CoVariance extends Lop { - public CoVariance(Lop input1, DataType dt, ValueType vt, ExecType et) throws LopsException { + public CoVariance(Lop input1, DataType dt, ValueType vt, ExecType et) { super(Lop.Type.CoVariance, dt, vt); init(input1, null, null, et); } - public CoVariance(Lop input1, Lop input2, DataType dt, ValueType vt, ExecType et) throws LopsException { + public CoVariance(Lop input1, Lop input2, DataType dt, ValueType vt, ExecType et) { this(input1, input2, null, dt, vt, et); } - public CoVariance(Lop input1, Lop input2, Lop input3, DataType dt, ValueType vt, ExecType et) throws LopsException { + public CoVariance(Lop input1, Lop input2, Lop input3, DataType dt, ValueType vt, ExecType et) { super(Lop.Type.CoVariance, dt, vt); init(input1, input2, input3, et); } - private void init(Lop input1, Lop input2, Lop input3, ExecType et) - throws LopsException - { + private void init(Lop input1, Lop input2, Lop input3, ExecType et) { /* * When et = MR: covariance lop will have a single input lop, which * denote the combined input data -- output of combinebinary, if unweighed; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/CombineBinary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CombineBinary.java b/src/main/java/org/apache/sysml/lops/CombineBinary.java index 44ee47d..0836aca 100644 --- a/src/main/java/org/apache/sysml/lops/CombineBinary.java +++ b/src/main/java/org/apache/sysml/lops/CombineBinary.java @@ -72,9 +72,7 @@ public class CombineBinary extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - throws LopsException - { + public String getInstructions(int input_index1, int input_index2, int output_index) { // Determine whether or not the second input denotes weights vector. // CombineBinary can be used to combine (data,weights) vectors or (data1,data2) vectors boolean isSecondInputIsWeight = true; http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/CombineTernary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CombineTernary.java b/src/main/java/org/apache/sysml/lops/CombineTernary.java index ac1a60f..2352935 100644 --- a/src/main/java/org/apache/sysml/lops/CombineTernary.java +++ b/src/main/java/org/apache/sysml/lops/CombineTernary.java @@ -69,8 +69,7 @@ public class CombineTernary extends Lop @Override public String getInstructions(int input_index1, int input_index2, - int input_index3, int output_index) - throws LopsException + int input_index3, int output_index) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/systemml/blob/215a1cc6/src/main/java/org/apache/sysml/lops/CombineUnary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CombineUnary.java b/src/main/java/org/apache/sysml/lops/CombineUnary.java index a7f34f6..11fdc5b 100644 --- a/src/main/java/org/apache/sysml/lops/CombineUnary.java +++ b/src/main/java/org/apache/sysml/lops/CombineUnary.java @@ -60,9 +60,7 @@ public class CombineUnary extends Lop } @Override - public String getInstructions(int input_index1, int output_index) - throws LopsException - { + public String getInstructions(int input_index1, int output_index) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( Lop.OPERAND_DELIMITOR );
