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 );

Reply via email to