[MINOR] Cleanup various issues raised by static code analysis, part 2 Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/13a01758 Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/13a01758 Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/13a01758
Branch: refs/heads/master Commit: 13a017583e84296769c2d28b7ae9c75e62f412b1 Parents: 40dd894 Author: Matthias Boehm <[email protected]> Authored: Wed Oct 11 00:11:52 2017 -0700 Committer: Matthias Boehm <[email protected]> Committed: Wed Oct 11 00:11:52 2017 -0700 ---------------------------------------------------------------------- .../apache/sysml/api/mlcontext/FrameSchema.java | 17 ++-- .../sysml/debug/DMLDebuggerFunctions.java | 14 +--- .../java/org/apache/sysml/hops/AggUnaryOp.java | 2 +- .../java/org/apache/sysml/hops/BinaryOp.java | 2 +- .../org/apache/sysml/hops/ConvolutionOp.java | 13 ++-- .../java/org/apache/sysml/hops/IndexingOp.java | 5 +- .../org/apache/sysml/hops/LeftIndexingOp.java | 2 +- .../apache/sysml/hops/cost/CostEstimator.java | 14 ++-- .../hops/cost/CostEstimatorStaticRuntime.java | 25 +++--- .../ipa/IPAPassPropagateReplaceLiterals.java | 4 +- .../sysml/hops/ipa/InterProceduralAnalysis.java | 18 ++--- .../RewriteAlgebraicSimplificationDynamic.java | 82 ++++++++++---------- .../RewriteAlgebraicSimplificationStatic.java | 64 +++++++-------- .../hops/rewrite/RewriteConstantFolding.java | 21 ++--- .../rewrite/RewriteForLoopVectorization.java | 8 +- .../rewrite/RewriteIndexingVectorization.java | 4 +- .../RewriteMarkLoopVariablesUpdateInPlace.java | 2 +- .../RewriteMatrixMultChainOptimization.java | 10 +-- .../RewriteSplitDagDataDependentOperators.java | 6 +- .../sysml/lops/CumulativeOffsetBinary.java | 2 +- .../sysml/lops/CumulativeSplitAggregate.java | 3 +- .../java/org/apache/sysml/lops/ZeroOut.java | 5 +- .../java/org/apache/sysml/lops/compile/Dag.java | 4 +- .../sysml/parser/BuiltinFunctionExpression.java | 14 ++-- .../org/apache/sysml/parser/DMLTranslator.java | 11 ++- .../apache/sysml/parser/ForStatementBlock.java | 2 +- .../sysml/parser/LiveVariableAnalysis.java | 2 +- .../sysml/parser/ParForStatementBlock.java | 16 ++-- .../sysml/parser/dml/DMLParserWrapper.java | 2 +- .../sysml/parser/dml/DmlSyntacticValidator.java | 4 +- .../sysml/parser/pydml/PyDMLParserWrapper.java | 2 +- .../parser/pydml/PydmlSyntacticValidator.java | 8 +- .../sysml/runtime/codegen/SpoofCellwise.java | 2 +- .../runtime/codegen/SpoofOuterProduct.java | 4 +- .../sysml/runtime/codegen/SpoofRowwise.java | 2 +- .../runtime/compress/CompressedMatrixBlock.java | 5 +- .../ColumnGroupPartitionerBinPacking.java | 2 +- .../controlprogram/ParForProgramBlock.java | 12 +-- .../runtime/controlprogram/ProgramBlock.java | 2 +- .../context/ExecutionContext.java | 2 +- .../context/SparkExecutionContext.java | 2 +- .../parfor/DataPartitionerLocal.java | 6 +- .../controlprogram/parfor/ProgramConverter.java | 2 +- .../parfor/RemoteParForColocatedFileSplit.java | 4 +- .../parfor/ResultMergeLocalFile.java | 12 +-- .../parfor/ResultMergeLocalMemory.java | 18 ++--- .../parfor/ResultMergeRemoteSpark.java | 4 +- .../parfor/opt/OptimizerConstrained.java | 3 +- .../parfor/opt/OptimizerRuleBased.java | 10 +-- .../runtime/functionobjects/IntegerDivide.java | 2 +- .../functionobjects/ParameterizedBuiltin.java | 2 +- .../runtime/instructions/MRJobInstruction.java | 6 +- .../cp/ConvolutionCPInstruction.java | 31 +++----- .../cp/DataPartitionCPInstruction.java | 8 +- .../instructions/cp/VariableCPInstruction.java | 4 +- .../ParameterizedBuiltinCPFileInstruction.java | 4 +- .../gpu/AggregateBinaryGPUInstruction.java | 6 +- .../gpu/ConvolutionGPUInstruction.java | 5 +- .../gpu/MatrixMatrixAxpyGPUInstruction.java | 4 +- .../instructions/gpu/context/JCudaKernels.java | 2 +- .../spark/ConvolutionSPInstruction.java | 21 ++--- .../spark/FrameAppendMSPInstruction.java | 3 +- .../spark/FrameIndexingSPInstruction.java | 5 +- .../spark/MatrixAppendMSPInstruction.java | 2 +- ...ReturnParameterizedBuiltinSPInstruction.java | 4 +- .../spark/QuantilePickSPInstruction.java | 4 +- .../instructions/spark/SpoofSPInstruction.java | 4 +- .../spark/TernarySPInstruction.java | 6 +- .../instructions/spark/Tsmm2SPInstruction.java | 3 +- .../instructions/spark/WriteSPInstruction.java | 2 +- .../spark/utils/FrameRDDConverterUtils.java | 2 +- .../spark/utils/RDDConverterUtils.java | 12 +-- .../spark/utils/RDDConverterUtilsExt.java | 4 +- .../runtime/io/FrameReaderBinaryBlock.java | 2 +- .../sysml/runtime/io/FrameReaderTextCell.java | 6 +- .../runtime/io/FrameWriterBinaryBlock.java | 2 +- .../sysml/runtime/io/FrameWriterTextCSV.java | 2 +- .../sysml/runtime/io/FrameWriterTextCell.java | 2 +- .../sysml/runtime/io/ReaderBinaryBlock.java | 2 +- .../sysml/runtime/io/ReaderBinaryCell.java | 2 +- .../apache/sysml/runtime/io/ReaderTextCSV.java | 6 +- .../apache/sysml/runtime/io/ReaderTextCell.java | 6 +- .../sysml/runtime/io/WriterBinaryBlock.java | 4 +- .../sysml/runtime/io/WriterMatrixMarket.java | 4 +- .../apache/sysml/runtime/io/WriterTextCSV.java | 2 +- .../apache/sysml/runtime/io/WriterTextCell.java | 2 +- .../org/apache/sysml/runtime/matrix/SortMR.java | 2 +- .../matrix/data/ConvolutionParameters.java | 5 +- .../sysml/runtime/matrix/data/FrameBlock.java | 2 +- .../runtime/matrix/data/LibMatrixBincell.java | 2 +- .../matrix/data/LibMatrixDNNConv2dHelper.java | 4 +- .../runtime/matrix/data/LibMatrixMult.java | 14 ++-- .../runtime/matrix/data/LibMatrixReorg.java | 2 +- .../sysml/runtime/matrix/data/MatrixBlock.java | 18 ++--- .../mapred/MRBaseForCommonInstructions.java | 2 +- .../matrix/sort/PickFromCompactInputFormat.java | 12 ++- .../apache/sysml/udf/lib/SGDNesterovUpdate.java | 11 +-- .../org/apache/sysml/yarn/DMLYarnClient.java | 8 +- .../test/integration/AutomatedTestBase.java | 2 +- .../functions/io/FullDynWriteTest.java | 22 +----- .../functions/jmlc/FrameCastingTest.java | 2 +- .../functions/jmlc/FrameReadMetaTest.java | 4 +- .../parfor/ParForRepeatedOptimizationTest.java | 14 +--- 103 files changed, 355 insertions(+), 439 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java index 9c6137b..32dec57 100644 --- a/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java +++ b/src/main/java/org/apache/sysml/api/mlcontext/FrameSchema.java @@ -19,8 +19,9 @@ package org.apache.sysml.api.mlcontext; -import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.apache.sysml.parser.Expression.ValueType; @@ -94,16 +95,12 @@ public class FrameSchema { * the frame schema as a string * @return the frame schema as a list of {@code ValueType} values */ - private List<ValueType> schemaStringToListOfValueTypes(String schemaString) { - if (StringUtils.isBlank(schemaString)) { + private static List<ValueType> schemaStringToListOfValueTypes(String schemaString) { + if (StringUtils.isBlank(schemaString)) return null; - } - String[] cols = schemaString.split(","); - List<ValueType> list = new ArrayList<>(); - for (String col : cols) { - list.add(ValueType.valueOf(col.toUpperCase())); - } - return list; + return Arrays.stream(schemaString.split(",")) + .map(s -> ValueType.valueOf(s.toUpperCase())) + .collect(Collectors.toList()); } /** http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java b/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java index 09bb0d6..3b75d4b 100644 --- a/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java +++ b/src/main/java/org/apache/sysml/debug/DMLDebuggerFunctions.java @@ -567,16 +567,8 @@ public class DMLDebuggerFunctions { return range; } - /** - * Returns minimum between two integers - * @param a Integer value - * @param b Integer value - * @return Minimum between a and b. - */ - private int min(int a, int b) { - if (a < b) - return a; - return b; + private static int min(int a, int b) { + return Math.min(a, b); } /** @@ -585,7 +577,7 @@ public class DMLDebuggerFunctions { * @param rowIndex if rowIndex == -1, then prints all rows * @param colIndex if colIndex == -1, then prints all columns */ - private void prettyPrintMatrixBlock(MatrixBlock mb, int rowIndex, int colIndex) { + private static void prettyPrintMatrixBlock(MatrixBlock mb, int rowIndex, int colIndex) { if(rowIndex <= 0 && colIndex <= 0) { // Print entire matrix for(int i=0; i<min(mb.getNumRows(), DISPLAY_MAX_ROWS); i++) { http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/AggUnaryOp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/AggUnaryOp.java b/src/main/java/org/apache/sysml/hops/AggUnaryOp.java index 4f5e2bc..04a32bd 100644 --- a/src/main/java/org/apache/sysml/hops/AggUnaryOp.java +++ b/src/main/java/org/apache/sysml/hops/AggUnaryOp.java @@ -491,7 +491,7 @@ public class AggUnaryOp extends Hop implements MultiThreadedHop return _etype; } - private boolean requiresAggregation( Hop input, Direction dir ) + private static boolean requiresAggregation( Hop input, Direction dir ) { if( !ALLOW_UNARYAGG_WO_FINAL_AGG ) return false; //customization not allowed http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/BinaryOp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/BinaryOp.java b/src/main/java/org/apache/sysml/hops/BinaryOp.java index 97ec655..58bbc8f 100644 --- a/src/main/java/org/apache/sysml/hops/BinaryOp.java +++ b/src/main/java/org/apache/sysml/hops/BinaryOp.java @@ -1384,7 +1384,7 @@ public class BinaryOp extends Hop ||(left.getDim1() > 1 && right.getDim1()==1 && left.getDim1()>=left.getRowsInBlock() )); //row MV and more than 1 block } - private MMBinaryMethod optFindMMBinaryMethodSpark(Hop left, Hop right) { + private static MMBinaryMethod optFindMMBinaryMethodSpark(Hop left, Hop right) { long m1_dim1 = left.getDim1(); long m1_dim2 = left.getDim2(); long m2_dim1 = right.getDim1(); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ConvolutionOp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java index 849b694..e732fb8 100644 --- a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java +++ b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java @@ -75,8 +75,7 @@ public class ConvolutionOp extends Hop implements MultiThreadedHop return "" + HopsConv2Lops.get(op); } - private boolean isEligibleForSpark() { - // return (op == ConvOp.DIRECT_CONV2D || op == ConvOp.MAX_POOLING) ? true : false; + private static boolean isEligibleForSpark() { return false; } @@ -146,11 +145,11 @@ public class ConvolutionOp extends Hop implements MultiThreadedHop } } - private boolean isInputReLU(Hop input) { + private static boolean isInputReLU(Hop input) { return input instanceof UnaryOp && ((UnaryOp) input).getOp() == OpOp1.SELP; } - private boolean isInputConv2d(Hop input) { + private static boolean isInputConv2d(Hop input) { return input instanceof ConvolutionOp && ((ConvolutionOp) input).getOp() == ConvOp.DIRECT_CONV2D; } @@ -712,19 +711,19 @@ public class ConvolutionOp extends Hop implements MultiThreadedHop return ret; } - private long nonNegativeMultiply(long val1, long val2, long val3) { + private static long nonNegativeMultiply(long val1, long val2, long val3) { if(val1 >= 0 && val2 >= 0 && val3 >= 0) { return val1 * val2 * val3; } else return -1; } - private long nonNegativeMultiply(long val1, long val2) { + private static long nonNegativeMultiply(long val1, long val2) { if(val1 >= 0 && val2 >= 0) { return val1 * val2; } else return -1; } - private long getNonNegative(long val1, long val2) { + private static long getNonNegative(long val1, long val2) { if(val1 >= 0 && val2 >= 0) { if(val1 == val2) return val1; else throw new RuntimeException("Incorrect dimensions in Convolution Hop: " + val1 + " != " + val2); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/IndexingOp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/IndexingOp.java b/src/main/java/org/apache/sysml/hops/IndexingOp.java index 0aa6d03..23d0630 100644 --- a/src/main/java/org/apache/sysml/hops/IndexingOp.java +++ b/src/main/java/org/apache/sysml/hops/IndexingOp.java @@ -287,7 +287,7 @@ public class IndexingOp extends Hop * @param ubound uppser bound high-level operator * @return true if block indexing expression */ - private boolean isBlockIndexingExpression(Hop lbound, Hop ubound) + private static boolean isBlockIndexingExpression(Hop lbound, Hop ubound) { boolean ret = false; LiteralOp constant = null; @@ -351,8 +351,7 @@ public class IndexingOp extends Hop return OptimizerUtils.isIndexingRangeBlockAligned(rl, ru, cl, cu, brlen, bclen); } - private long getBlockIndexingExpressionSize(Hop lbound, Hop ubound) - { + private static long getBlockIndexingExpressionSize(Hop lbound, Hop ubound) { //NOTE: ensure consistency with isBlockIndexingExpression LiteralOp c = (LiteralOp) ubound.getInput().get(0); //(c*i) return HopRewriteUtils.getIntValueSafe(c); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java index f3c6614..a660d24 100644 --- a/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java +++ b/src/main/java/org/apache/sysml/hops/LeftIndexingOp.java @@ -243,7 +243,7 @@ public class LeftIndexingOp extends Hop return (rightHandSide.getDataType() == DataType.SCALAR); } - private LixCacheType getSpLixCacheType(LeftIndexingMethod method) { + private static LixCacheType getSpLixCacheType(LeftIndexingMethod method) { switch( method ) { case SP_MLEFTINDEX_L: return LixCacheType.LEFT; case SP_MLEFTINDEX_R: return LixCacheType.RIGHT; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java b/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java index 9f46eb0..ea1e3d6 100644 --- a/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java +++ b/src/main/java/org/apache/sysml/hops/cost/CostEstimator.java @@ -217,7 +217,7 @@ public abstract class CostEstimator return ret; } - private void maintainVariableStatistics( LocalVariableMap vars, HashMap<String, VarStats> stats ) + private static void maintainVariableStatistics( LocalVariableMap vars, HashMap<String, VarStats> stats ) throws DMLRuntimeException { for( String varname : vars.keySet() ) @@ -246,7 +246,7 @@ public abstract class CostEstimator } } - private void maintainCPInstVariableStatistics( CPInstruction inst, HashMap<String, VarStats> stats ) + private static void maintainCPInstVariableStatistics( CPInstruction inst, HashMap<String, VarStats> stats ) { if( inst instanceof VariableCPInstruction ) { @@ -427,7 +427,7 @@ public abstract class CostEstimator return ret; } - private Object[] extractCPInstStatistics( Instruction inst, HashMap<String, VarStats> stats ) + private static Object[] extractCPInstStatistics( Instruction inst, HashMap<String, VarStats> stats ) { Object[] ret = new Object[2]; //stats, attrs VarStats[] vs = new VarStats[3]; @@ -575,13 +575,13 @@ public abstract class CostEstimator return ret; } - private void setUnknownStats(VarStats[] vs) { + private static void setUnknownStats(VarStats[] vs) { vs[0] = _unknownStats; vs[1] = _unknownStats; vs[2] = _unknownStats; } - private Object[] extractMRJobInstStatistics( Instruction inst, HashMap<String, VarStats> stats ) + private static Object[] extractMRJobInstStatistics( Instruction inst, HashMap<String, VarStats> stats ) { Object[] ret = new Object[2]; //stats, attrs VarStats[] vs = null; @@ -614,7 +614,7 @@ public abstract class CostEstimator return ret; } - private void cleanupMRJobVariableStatistics( Instruction inst, HashMap<String, VarStats> stats ) + private static void cleanupMRJobVariableStatistics( Instruction inst, HashMap<String, VarStats> stats ) { MRJobInstruction jinst = (MRJobInstruction)inst; @@ -634,7 +634,7 @@ public abstract class CostEstimator } } - private long getNumIterations(HashMap<String,VarStats> stats, ForProgramBlock pb) { + private static long getNumIterations(HashMap<String,VarStats> stats, ForProgramBlock pb) { return OptimizerUtils.getNumIterations(pb, DEFAULT_NUMITER); } http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java b/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java index ef89600..f3ce99d 100644 --- a/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java +++ b/src/main/java/org/apache/sysml/hops/cost/CostEstimatorStaticRuntime.java @@ -466,8 +466,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator // Utilities // ///////////////////// - private byte[] getInputIndexes(String[] inputVars) - { + private static byte[] getInputIndexes(String[] inputVars) { byte[] inIx = new byte[inputVars.length]; for( int i=0; i<inIx.length; i++ ) inIx[i] = (byte)i; @@ -542,7 +541,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return ret; } - private int computeNumMapTasks( VarStats[] vs, byte[] inputIx, double blocksize, int maxPMap, JobType jobtype ) + private static int computeNumMapTasks( VarStats[] vs, byte[] inputIx, double blocksize, int maxPMap, JobType jobtype ) { //special cases if( jobtype == JobType.DATAGEN ) @@ -565,7 +564,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return Math.max(1, Math.min( (int)Math.ceil(mapInputSize/blocksize),numBlocks )); } - private int computeNumReduceTasks( VarStats[] vs, byte[] mapOutIx, JobType jobtype ) + private static int computeNumReduceTasks( VarStats[] vs, byte[] mapOutIx, JobType jobtype ) { int ret = -1; @@ -598,7 +597,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return Math.max(1, ret); } - private int getDistcacheIndex(String inst) + private static int getDistcacheIndex(String inst) throws DMLRuntimeException { ArrayList<Byte> indexes = new ArrayList<>(); @@ -629,7 +628,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator * @param ds sparsity factor? * @return estimated HDFS read time */ - private double getHDFSReadTime( long dm, long dn, double ds ) + private static double getHDFSReadTime( long dm, long dn, double ds ) { boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn)); double ret = ((double)MatrixBlock.estimateSizeOnDisk((long)dm, (long)dn, (long)(ds*dm*dn))) / (1024*1024); @@ -642,7 +641,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return ret; } - private double getHDFSWriteTime( long dm, long dn, double ds ) + private static double getHDFSWriteTime( long dm, long dn, double ds ) { boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn)); @@ -662,7 +661,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return ret; } - private double getHDFSWriteTime( long dm, long dn, double ds, String format ) + private static double getHDFSWriteTime( long dm, long dn, double ds, String format ) { boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn)); @@ -702,7 +701,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator * @param ds sparsity factor? * @return estimated local file system read time */ - private double getFSReadTime( long dm, long dn, double ds ) + private static double getFSReadTime( long dm, long dn, double ds ) { boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn)); @@ -715,7 +714,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return ret; } - private double getFSWriteTime( long dm, long dn, double ds ) + private static double getFSWriteTime( long dm, long dn, double ds ) { boolean sparse = MatrixBlock.evalSparseFormatOnDisk(dm, dn, (long)(ds*dm*dn)); @@ -734,7 +733,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator // Operation Costs // ///////////////////// - private double getInstTimeEstimate(String opcode, VarStats[] vs, String[] args, ExecType et) + private static double getInstTimeEstimate(String opcode, VarStats[] vs, String[] args, ExecType et) throws DMLRuntimeException { boolean inMR = (et == ExecType.MR); @@ -766,7 +765,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator * @return estimated instruction execution time * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private double getInstTimeEstimate( String opcode, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) throws DMLRuntimeException + private static double getInstTimeEstimate( String opcode, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) throws DMLRuntimeException { double nflops = getNFLOP(opcode, inMR, d1m, d1n, d1s, d2m, d2n, d2s, d3m, d3n, d3s, args); double time = nflops / DEFAULT_FLOPS; @@ -777,7 +776,7 @@ public class CostEstimatorStaticRuntime extends CostEstimator return time; } - private double getNFLOP( String optype, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) + private static double getNFLOP( String optype, boolean inMR, long d1m, long d1n, double d1s, long d2m, long d2n, double d2s, long d3m, long d3n, double d3s, String[] args ) throws DMLRuntimeException { //operation costs in FLOP on matrix block level (for CP and MR instructions) http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java b/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java index 57647ff..5e2e86c 100644 --- a/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java +++ b/src/main/java/org/apache/sysml/hops/ipa/IPAPassPropagateReplaceLiterals.java @@ -120,7 +120,7 @@ public class IPAPassPropagateReplaceLiterals extends IPAPass } } - private void replaceLiterals(ArrayList<Hop> roots, LocalVariableMap constants) + private static void replaceLiterals(ArrayList<Hop> roots, LocalVariableMap constants) throws HopsException { if( roots == null ) @@ -137,7 +137,7 @@ public class IPAPassPropagateReplaceLiterals extends IPAPass } } - private void replaceLiterals(Hop root, LocalVariableMap constants) + private static void replaceLiterals(Hop root, LocalVariableMap constants) throws HopsException { if( root == null ) http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java b/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java index 1aafe0b..65f7e54 100644 --- a/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java +++ b/src/main/java/org/apache/sysml/hops/ipa/InterProceduralAnalysis.java @@ -380,7 +380,7 @@ public class InterProceduralAnalysis * @param vars Map of variables eligible for propagation. * @throws HopsException If a HopsException occurs. */ - private void propagateScalarsAcrossDAG(ArrayList<Hop> roots, LocalVariableMap vars) + private static void propagateScalarsAcrossDAG(ArrayList<Hop> roots, LocalVariableMap vars) throws HopsException { for (Hop hop : roots) { @@ -392,7 +392,7 @@ public class InterProceduralAnalysis } } - private void propagateStatisticsAcrossPredicateDAG( Hop root, LocalVariableMap vars ) + private static void propagateStatisticsAcrossPredicateDAG( Hop root, LocalVariableMap vars ) throws HopsException { if( root == null ) @@ -417,7 +417,7 @@ public class InterProceduralAnalysis * @param vars Map of variables eligible for propagation. * @throws HopsException If a HopsException occurs. */ - private void propagateStatisticsAcrossDAG( ArrayList<Hop> roots, LocalVariableMap vars ) + private static void propagateStatisticsAcrossDAG( ArrayList<Hop> roots, LocalVariableMap vars ) throws HopsException { if( roots == null ) @@ -532,7 +532,7 @@ public class InterProceduralAnalysis hop.setVisited(); } - private void populateLocalVariableMapForFunctionCall( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callvars, LocalVariableMap vars, FunctionCallSizeInfo fcallSizes ) + private static void populateLocalVariableMapForFunctionCall( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callvars, LocalVariableMap vars, FunctionCallSizeInfo fcallSizes ) throws HopsException { ArrayList<DataIdentifier> inputVars = fstmt.getInputParams(); @@ -592,7 +592,7 @@ public class InterProceduralAnalysis * calling program's variable map. * @throws HopsException If a HopsException occurs. */ - private void extractFunctionCallReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap tmpVars, LocalVariableMap callVars, boolean overwrite ) + private static void extractFunctionCallReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap tmpVars, LocalVariableMap callVars, boolean overwrite ) throws HopsException { ArrayList<DataIdentifier> foutputOps = fstmt.getOutputParams(); @@ -655,7 +655,7 @@ public class InterProceduralAnalysis } } - private void extractFunctionCallUnknownReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) + private static void extractFunctionCallUnknownReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) throws HopsException { ArrayList<DataIdentifier> foutputOps = fstmt.getOutputParams(); @@ -682,7 +682,7 @@ public class InterProceduralAnalysis } } - private void extractFunctionCallEquivalentReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) + private static void extractFunctionCallEquivalentReturnStatistics( FunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) throws HopsException { try { @@ -696,7 +696,7 @@ public class InterProceduralAnalysis } } - private void extractExternalFunctionCallReturnStatistics( ExternalFunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) + private static void extractExternalFunctionCallReturnStatistics( ExternalFunctionStatement fstmt, FunctionOp fop, LocalVariableMap callVars ) throws HopsException { String className = fstmt.getOtherParams().get(ExternalFunctionStatement.CLASS_NAME); @@ -723,7 +723,7 @@ public class InterProceduralAnalysis } } - private MatrixObject createOutputMatrix( long dim1, long dim2, long nnz ) { + private static MatrixObject createOutputMatrix( long dim1, long dim2, long nnz ) { MatrixObject moOut = new MatrixObject(ValueType.DOUBLE, null); MatrixCharacteristics mc = new MatrixCharacteristics( dim1, dim2, ConfigurationManager.getBlocksize(), ConfigurationManager.getBlocksize(), nnz); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 dcb729e..5437535 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationDynamic.java @@ -205,7 +205,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule hop.setVisited(); } - private Hop removeEmptyRightIndexing(Hop parent, Hop hi, int pos) + private static Hop removeEmptyRightIndexing(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof IndexingOp && hi.getDataType()==DataType.MATRIX ) //indexing op @@ -228,7 +228,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryRightIndexing(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryRightIndexing(Hop parent, Hop hi, int pos) { if( hi instanceof IndexingOp ) //indexing op { @@ -252,7 +252,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeEmptyLeftIndexing(Hop parent, Hop hi, int pos) + private static Hop removeEmptyLeftIndexing(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof LeftIndexingOp && hi.getDataType() == DataType.MATRIX ) //left indexing op @@ -276,7 +276,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryLeftIndexing(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryLeftIndexing(Hop parent, Hop hi, int pos) { if( hi instanceof LeftIndexingOp ) //left indexing op { @@ -298,7 +298,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop fuseLeftIndexingChainToAppend(Hop parent, Hop hi, int pos) + private static Hop fuseLeftIndexingChainToAppend(Hop parent, Hop hi, int pos) { boolean applied = false; @@ -359,7 +359,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryCumulativeOp(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryCumulativeOp(Hop parent, Hop hi, int pos) { if( hi instanceof UnaryOp && ((UnaryOp)hi).isCumulativeUnaryOperation() ) { @@ -381,7 +381,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos) { if( hi instanceof ReorgOp ) { @@ -407,7 +407,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryOuterProduct(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryOuterProduct(Hop parent, Hop hi, int pos) { if( hi instanceof BinaryOp ) //binary cell operation { @@ -457,7 +457,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private Hop fuseDatagenAndReorgOperation(Hop parent, Hop hi, int pos) + private static Hop fuseDatagenAndReorgOperation(Hop parent, Hop hi, int pos) { if( HopRewriteUtils.isTransposeOperation(hi) && hi.getInput().get(0) instanceof DataGenOp //datagen @@ -495,7 +495,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) + private static Hop simplifyColwiseAggregate( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof AggUnaryOp ) @@ -559,7 +559,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) + private static Hop simplifyRowwiseAggregate( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof AggUnaryOp ) @@ -625,7 +625,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyColSumsMVMult( Hop parent, Hop hi, int pos ) + 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 @@ -661,7 +661,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyRowSumsMVMult( Hop parent, Hop hi, int pos ) + 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 @@ -697,7 +697,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyUnnecessaryAggregate(Hop parent, Hop hi, int pos) + 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) @@ -724,7 +724,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptyAggregate(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptyAggregate(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof AggUnaryOp ) @@ -756,7 +756,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptyUnaryOperation(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptyUnaryOperation(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof UnaryOp ) @@ -781,7 +781,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptyReorgOperation(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptyReorgOperation(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof ReorgOp ) @@ -823,7 +823,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptySortOperation(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptySortOperation(Hop parent, Hop hi, int pos) throws HopsException { //order(X, indexreturn=FALSE) -> matrix(0,nrow(X),1) @@ -862,7 +862,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptyMatrixMult(Hop parent, Hop hi, int pos) throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y -> matrix(0, ) @@ -885,7 +885,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyIdentityRepMatrixMult(Hop parent, Hop hi, int pos) + 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) @@ -908,7 +908,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyScalarMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifyScalarMatrixMult(Hop parent, Hop hi, int pos) throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y @@ -947,7 +947,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyMatrixMultDiag(Hop parent, Hop hi, int pos) + private static Hop simplifyMatrixMultDiag(Hop parent, Hop hi, int pos) throws HopsException { Hop hnew = null; @@ -1002,7 +1002,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyDiagMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifyDiagMatrixMult(Hop parent, Hop hi, int pos) { if( hi instanceof ReorgOp && ((ReorgOp)hi).getOp()==ReOrgOp.DIAG && hi.getDim2()==1 ) //diagM2V { @@ -1029,7 +1029,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifySumDiagToTrace(Hop hi) + private static Hop simplifySumDiagToTrace(Hop hi) { if( hi instanceof AggUnaryOp ) { @@ -1058,7 +1058,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } @SuppressWarnings("unchecked") - private Hop pushdownBinaryOperationOnDiag(Hop parent, Hop hi, int pos) + private static Hop pushdownBinaryOperationOnDiag(Hop parent, Hop hi, int pos) { //diag(X)*7 --> diag(X*7) in order to (1) reduce required memory for b(*) and //(2) in order to make the binary operation more efficient (dense vector vs sparse matrix) @@ -1141,7 +1141,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @param pos position * @return high-level operator */ - private Hop pushdownSumOnAdditiveBinary(Hop parent, Hop hi, int pos) + private static Hop pushdownSumOnAdditiveBinary(Hop parent, Hop hi, int pos) { //all patterns headed by full sum over binary operation if( hi instanceof AggUnaryOp //full sum root over binaryop @@ -1204,7 +1204,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop simplifyWeightedSquaredLoss(Hop parent, Hop hi, int pos) + private static Hop simplifyWeightedSquaredLoss(Hop parent, Hop hi, int pos) throws HopsException { //NOTE: there might be also a general simplification without custom operator @@ -1392,7 +1392,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyWeightedSigmoidMMChains(Hop parent, Hop hi, int pos) + private static Hop simplifyWeightedSigmoidMMChains(Hop parent, Hop hi, int pos) throws HopsException { Hop hnew = null; @@ -1528,7 +1528,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) + private static Hop simplifyWeightedDivMM(Hop parent, Hop hi, int pos) throws HopsException { Hop hnew = null; @@ -1846,7 +1846,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyWeightedCrossEntropy(Hop parent, Hop hi, int pos) + private static Hop simplifyWeightedCrossEntropy(Hop parent, Hop hi, int pos) throws HopsException { Hop hnew = null; @@ -1923,7 +1923,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) + private static Hop simplifyWeightedUnaryMM(Hop parent, Hop hi, int pos) throws HopsException { Hop hnew = null; @@ -2077,7 +2077,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) + private static Hop simplifyDotProductSum(Hop parent, Hop hi, int pos) throws HopsException { //sum(v^2)/sum(v1*v2) --> as.scalar(t(v)%*%v) in order to exploit tsmm vector dotproduct @@ -2151,7 +2151,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * * @throws HopsException if HopsException occurs */ - private Hop fuseSumSquared(Hop parent, Hop hi, int pos) + private static Hop fuseSumSquared(Hop parent, Hop hi, int pos) throws HopsException { // if SUM if (hi instanceof AggUnaryOp && ((AggUnaryOp) hi).getOp() == AggOp.SUM) { @@ -2180,7 +2180,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop fuseAxpyBinaryOperationChain(Hop parent, Hop hi, int pos) + private static Hop fuseAxpyBinaryOperationChain(Hop parent, Hop hi, int pos) { //patterns: (a) X + s*Y -> X +* sY, (b) s*Y+X -> X +* sY, (c) X - s*Y -> X -* sY if( hi instanceof BinaryOp && !((BinaryOp) hi).isOuterVectorOperator() @@ -2236,7 +2236,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyEmptyBinaryOperation(Hop parent, Hop hi, int pos) + private static Hop simplifyEmptyBinaryOperation(Hop parent, Hop hi, int pos) throws HopsException { if( hi instanceof BinaryOp ) //b(?) X Y @@ -2320,7 +2320,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule * @throws HopsException if HopsException occurs */ @SuppressWarnings("unchecked") - private Hop reorderMinusMatrixMult(Hop parent, Hop hi, int pos) + private static Hop reorderMinusMatrixMult(Hop parent, Hop hi, int pos) throws HopsException { if( HopRewriteUtils.isMatrixMultiply(hi) ) //X%*%Y @@ -2402,7 +2402,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule } - private Hop simplifySumMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifySumMatrixMult(Hop parent, Hop hi, int pos) { //sum(A%*%B) -> sum(t(colSums(A))*rowSums(B)), later rewritten to dot-product //colSums(A%*%B) -> colSums(A)%*%B @@ -2455,7 +2455,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyScalarMVBinaryOperation(Hop hi) + private static Hop simplifyScalarMVBinaryOperation(Hop hi) throws HopsException { if( hi instanceof BinaryOp && ((BinaryOp)hi).supportsMatrixScalarOperations() //e.g., X * s @@ -2478,7 +2478,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyNnzComputation(Hop parent, Hop hi, int pos) + private static Hop simplifyNnzComputation(Hop parent, Hop hi, int pos) throws HopsException { //sum(ppred(X,0,"!=")) -> literal(nnz(X)), if nnz known @@ -2513,7 +2513,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyNrowNcolComputation(Hop parent, Hop hi, int pos) + 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 @@ -2542,7 +2542,7 @@ public class RewriteAlgebraicSimplificationDynamic extends HopRewriteRule return hi; } - private Hop simplifyTableSeqExpand(Hop parent, Hop hi, int pos) + 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) http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 4e5f3fb..64a37d7 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteAlgebraicSimplificationStatic.java @@ -188,7 +188,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule hop.setVisited(); } - private Hop removeUnnecessaryVectorizeOperation(Hop hi) + private static Hop removeUnnecessaryVectorizeOperation(Hop hi) { //applies to all binary matrix operations, if one input is unnecessarily vectorized if( hi instanceof BinaryOp && hi.getDataType()==DataType.MATRIX @@ -256,7 +256,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop removeUnnecessaryBinaryOperation( Hop parent, Hop hi, int pos ) + private static Hop removeUnnecessaryBinaryOperation( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof BinaryOp ) @@ -345,7 +345,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @throws HopsException if HopsException occurs */ @SuppressWarnings("incomplete-switch") - private Hop fuseDatagenAndBinaryOperation( Hop hi ) + private static Hop fuseDatagenAndBinaryOperation( Hop hi ) throws HopsException { if( hi instanceof BinaryOp ) @@ -428,7 +428,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop fuseDatagenAndMinusOperation( Hop hi ) + private static Hop fuseDatagenAndMinusOperation( Hop hi ) throws HopsException { if( hi instanceof BinaryOp ) @@ -490,7 +490,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop simplifyBinaryToUnaryOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyBinaryToUnaryOperation( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof BinaryOp ) @@ -550,7 +550,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop canonicalizeMatrixMultScalarAdd( Hop hi ) + private static Hop canonicalizeMatrixMultScalarAdd( Hop hi ) throws HopsException { //pattern: binary operation (+ or -) of matrix mult and scalar @@ -594,7 +594,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop simplifyReverseOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyReverseOperation( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof AggBinaryOp @@ -619,7 +619,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyMultiBinaryToBinaryOperation( Hop hi ) + private static Hop simplifyMultiBinaryToBinaryOperation( Hop hi ) { //pattern: 1-(X*Y) --> X 1-* Y (avoid intermediate) if( HopRewriteUtils.isBinary(hi, OpOp2.MINUS) @@ -655,7 +655,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param pos position * @return high-level operator */ - private Hop simplifyDistributiveBinaryOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyDistributiveBinaryOperation( Hop parent, Hop hi, int pos ) { if( hi instanceof BinaryOp ) @@ -733,7 +733,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param pos position * @return high-level operator */ - private Hop simplifyBushyBinaryOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyBushyBinaryOperation( Hop parent, Hop hi, int pos ) { if( hi instanceof BinaryOp && parent instanceof AggBinaryOp ) { @@ -799,7 +799,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyUnaryAggReorgOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyUnaryAggReorgOperation( Hop parent, Hop hi, int pos ) { if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getDirection()==Direction.RowCol //full uagg && hi.getInput().get(0) instanceof ReorgOp ) //reorg operation @@ -821,7 +821,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryAggregates(Hop hi) + private static Hop removeUnnecessaryAggregates(Hop hi) { //sum(rowSums(X)) -> sum(X), sum(colSums(X)) -> sum(X) //min(rowMins(X)) -> min(X), min(colMins(X)) -> min(X) @@ -850,7 +850,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyBinaryMatrixScalarOperation( Hop parent, Hop hi, int pos ) + 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 @@ -892,7 +892,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop pushdownUnaryAggTransposeOperation( Hop parent, Hop hi, int pos ) + private static Hop pushdownUnaryAggTransposeOperation( Hop parent, Hop hi, int pos ) { if( hi instanceof AggUnaryOp && hi.getParent().size()==1 && (((AggUnaryOp) hi).getDirection()==Direction.Row || ((AggUnaryOp) hi).getDirection()==Direction.Col) @@ -929,7 +929,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop pushdownCSETransposeScalarOperation( Hop parent, Hop hi, int pos ) + private static Hop pushdownCSETransposeScalarOperation( Hop parent, Hop hi, int pos ) { // a=t(X), b=t(X^2) -> a=t(X), b=t(X)^2 for CSE t(X) // probed at root node of b in above example @@ -964,7 +964,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) throws HopsException { + private static Hop pushdownSumBinaryMult(Hop parent, Hop hi, int pos ) throws HopsException { //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 @@ -990,7 +990,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyUnaryPPredOperation( Hop parent, Hop hi, int pos ) + private static Hop simplifyUnaryPPredOperation( Hop parent, Hop hi, int pos ) { if( hi instanceof UnaryOp && hi.getDataType()==DataType.MATRIX //unaryop && hi.getInput().get(0) instanceof BinaryOp //binaryop - ppred @@ -1014,7 +1014,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyTransposedAppend( Hop parent, Hop hi, int pos ) + private static Hop simplifyTransposedAppend( Hop parent, Hop hi, int pos ) { //e.g., t(cbind(t(A),t(B))) --> rbind(A,B), t(rbind(t(A),t(B))) --> cbind(A,B) if( HopRewriteUtils.isTransposeOperation(hi) //t() rooted @@ -1057,7 +1057,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param pos position * @throws HopsException if HopsException occurs */ - private Hop fuseBinarySubDAGToUnaryOperation( Hop parent, Hop hi, int pos ) + private static Hop fuseBinarySubDAGToUnaryOperation( Hop parent, Hop hi, int pos ) throws HopsException { if( hi instanceof BinaryOp ) @@ -1241,7 +1241,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyTraceMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifyTraceMatrixMult(Hop parent, Hop hi, int pos) { if( hi instanceof AggUnaryOp && ((AggUnaryOp)hi).getOp()==AggOp.TRACE ) //trace() { @@ -1268,7 +1268,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifySlicedMatrixMult(Hop parent, Hop hi, int pos) + private static Hop simplifySlicedMatrixMult(Hop parent, Hop hi, int pos) throws HopsException { //e.g., (X%*%Y)[1,1] -> X[1,] %*% Y[,1] @@ -1309,7 +1309,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyConstantSort(Hop parent, Hop hi, int pos) + private static Hop simplifyConstantSort(Hop parent, Hop hi, int pos) throws HopsException { //order(matrix(7), indexreturn=FALSE) -> matrix(7) @@ -1348,7 +1348,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyOrderedSort(Hop parent, Hop hi, int pos) + private static Hop simplifyOrderedSort(Hop parent, Hop hi, int pos) throws HopsException { //order(seq(2,N+1,1), indexreturn=FALSE) -> matrix(7) @@ -1402,7 +1402,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @return high-level operator * @throws HopsException if HopsException occurs */ - private Hop simplifyTransposeAggBinBinaryChains(Hop parent, Hop hi, int pos) + private static Hop simplifyTransposeAggBinBinaryChains(Hop parent, Hop hi, int pos) throws HopsException { if( HopRewriteUtils.isTransposeOperation(hi) @@ -1444,7 +1444,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @param pos position * @return high-level operator */ - private Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryReorgOperation(Hop parent, Hop hi, int pos) { ReOrgOp[] lookup = new ReOrgOp[]{ReOrgOp.TRANSPOSE, ReOrgOp.REV}; @@ -1467,7 +1467,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop removeUnnecessaryMinus(Hop parent, Hop hi, int pos) + private static Hop removeUnnecessaryMinus(Hop parent, Hop hi, int pos) throws HopsException { if( hi.getDataType() == DataType.MATRIX && hi instanceof BinaryOp @@ -1493,7 +1493,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyGroupedAggregate(Hop hi) + private static Hop simplifyGroupedAggregate(Hop hi) { if( hi instanceof ParameterizedBuiltinOp && ((ParameterizedBuiltinOp)hi).getOp()==ParamBuiltinOp.GROUPEDAGG ) //aggregate { @@ -1522,7 +1522,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop fuseMinusNzBinaryOperation(Hop parent, Hop hi, int pos) + private static Hop fuseMinusNzBinaryOperation(Hop parent, Hop hi, int pos) throws HopsException { //pattern X - (s * ppred(X,0,!=)) -> X -nz s @@ -1556,7 +1556,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop fuseLogNzUnaryOperation(Hop parent, Hop hi, int pos) + private static Hop fuseLogNzUnaryOperation(Hop parent, Hop hi, int pos) throws HopsException { //pattern ppred(X,0,"!=")*log(X) -> log_nz(X) @@ -1588,7 +1588,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop fuseLogNzBinaryOperation(Hop parent, Hop hi, int pos) + 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) @@ -1621,7 +1621,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule return hi; } - private Hop simplifyOuterSeqExpand(Hop parent, Hop hi, int pos) + 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) @@ -1678,7 +1678,7 @@ public class RewriteAlgebraicSimplificationStatic extends HopRewriteRule * @throws HopsException if HopsException occurs */ @SuppressWarnings("unused") - private Hop removeUnecessaryPPred(Hop parent, Hop hi, int pos) + 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/13a01758/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 92b91e0..2d94259 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteConstantFolding.java @@ -243,7 +243,7 @@ public class RewriteConstantFolding extends HopRewriteRule return _tmpEC; } - private boolean isApplicableBinaryOp( Hop hop ) + private static boolean isApplicableBinaryOp( Hop hop ) { ArrayList<Hop> in = hop.getInput(); return ( hop instanceof BinaryOp @@ -256,8 +256,7 @@ public class RewriteConstantFolding extends HopRewriteRule //messes up the explain runtime output due to introduced \n } - private boolean isApplicableUnaryOp( Hop hop ) - { + private static boolean isApplicableUnaryOp( Hop hop ) { ArrayList<Hop> in = hop.getInput(); return ( hop instanceof UnaryOp && in.get(0) instanceof LiteralOp @@ -266,21 +265,17 @@ public class RewriteConstantFolding extends HopRewriteRule && hop.getDataType() == DataType.SCALAR); } - private boolean isApplicableFalseConjunctivePredicate( Hop hop ) - throws HopsException - { + private static boolean isApplicableFalseConjunctivePredicate( Hop hop ) throws HopsException { ArrayList<Hop> in = hop.getInput(); return ( HopRewriteUtils.isBinary(hop, OpOp2.AND) - && ( (in.get(0) instanceof LiteralOp && !((LiteralOp)in.get(0)).getBooleanValue()) - ||(in.get(1) instanceof LiteralOp && !((LiteralOp)in.get(1)).getBooleanValue())) ); + && ( (in.get(0) instanceof LiteralOp && !((LiteralOp)in.get(0)).getBooleanValue()) + ||(in.get(1) instanceof LiteralOp && !((LiteralOp)in.get(1)).getBooleanValue())) ); } - private boolean isApplicableTrueDisjunctivePredicate( Hop hop ) - throws HopsException - { + private static boolean isApplicableTrueDisjunctivePredicate( Hop hop ) throws HopsException { ArrayList<Hop> in = hop.getInput(); return ( HopRewriteUtils.isBinary(hop, OpOp2.OR) - && ( (in.get(0) instanceof LiteralOp && ((LiteralOp)in.get(0)).getBooleanValue()) - ||(in.get(1) instanceof LiteralOp && ((LiteralOp)in.get(1)).getBooleanValue())) ); + && ( (in.get(0) instanceof LiteralOp && ((LiteralOp)in.get(0)).getBooleanValue()) + ||(in.get(1) instanceof LiteralOp && ((LiteralOp)in.get(1)).getBooleanValue())) ); } } http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 fdcf96b..7d01715 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteForLoopVectorization.java @@ -103,7 +103,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule return sbs; } - private StatementBlock vectorizeScalarAggregate( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) + private static StatementBlock vectorizeScalarAggregate( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) throws HopsException { StatementBlock ret = sb; @@ -205,7 +205,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule return ret; } - private StatementBlock vectorizeElementwiseBinary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) + private static StatementBlock vectorizeElementwiseBinary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) throws HopsException { StatementBlock ret = sb; @@ -289,7 +289,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule return ret; } - private StatementBlock vectorizeElementwiseUnary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) + private static StatementBlock vectorizeElementwiseUnary( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) throws HopsException { StatementBlock ret = sb; @@ -349,7 +349,7 @@ public class RewriteForLoopVectorization extends StatementBlockRewriteRule return ret; } - private StatementBlock vectorizeIndexedCopy( StatementBlock sb, StatementBlock csb, Hop from, Hop to, Hop increment, String itervar ) + 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/13a01758/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 bd22522..3f116c2 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteIndexingVectorization.java @@ -101,7 +101,7 @@ public class RewriteIndexingVectorization extends HopRewriteRule * @throws HopsException if HopsException occurs */ @SuppressWarnings("unused") - private void vectorizeRightIndexing( Hop hop ) + private static void vectorizeRightIndexing( Hop hop ) throws HopsException { if( hop instanceof IndexingOp ) //right indexing @@ -189,7 +189,7 @@ public class RewriteIndexingVectorization extends HopRewriteRule } @SuppressWarnings("unchecked") - private Hop vectorizeLeftIndexing( Hop hop ) + private static Hop vectorizeLeftIndexing( Hop hop ) throws HopsException { Hop ret = hop; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 deb7fba..c29820e 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMarkLoopVariablesUpdateInPlace.java @@ -126,7 +126,7 @@ public class RewriteMarkLoopVariablesUpdateInPlace extends StatementBlockRewrite return ret; } - private boolean isApplicableForUpdateInPlace( Hop hop, String varname ) + private static boolean isApplicableForUpdateInPlace( Hop hop, String varname ) { if( !hop.getName().equals(varname) ) return true; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 090018b..e8510d4 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteMatrixMultChainOptimization.java @@ -228,7 +228,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule * Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein * Introduction to Algorithms, Third Edition, MIT Press, page 395. */ - private int[][] mmChainDP(double[] dimArray, int size) + private static int[][] mmChainDP(double[] dimArray, int size) { double[][] dpMatrix = new double[size][size]; //min cost table int[][] split = new int[size][size]; //min cost index table @@ -325,7 +325,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule } } - private void clearLinksWithinChain( Hop hop, ArrayList<Hop> operators ) + private static void clearLinksWithinChain( Hop hop, ArrayList<Hop> operators ) throws HopsException { for( int i=0; i < operators.size(); i++ ) { @@ -354,7 +354,7 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule * @return true if all dimensions known * @throws HopsException if HopsException occurs */ - private boolean getDimsArray( Hop hop, ArrayList<Hop> chain, double[] dimsArray ) + private static boolean getDimsArray( Hop hop, ArrayList<Hop> chain, double[] dimsArray ) throws HopsException { boolean dimsKnown = true; @@ -391,11 +391,11 @@ public class RewriteMatrixMultChainOptimization extends HopRewriteRule return dimsKnown; } - private int inputCount( Hop p, Hop h ) { + private static int inputCount( Hop p, Hop h ) { return CollectionUtils.cardinality(h, p.getInput()); } - private void logTraceHop( Hop hop, int level ) { + private static void logTraceHop( Hop hop, int level ) { if( LOG.isTraceEnabled() ) { String offset = Explain.getIdentation(level); LOG.trace(offset+ "Hop " + hop.getName() + "(" + hop.getClass().getSimpleName() http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/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 67978cb..7e7860e 100644 --- a/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java +++ b/src/main/java/org/apache/sysml/hops/rewrite/RewriteSplitDagDataDependentOperators.java @@ -318,16 +318,14 @@ public class RewriteSplitDagDataDependentOperators extends StatementBlockRewrite hop.setVisited(); } - private boolean hasTransientWriteParents( Hop hop ) - { + private static boolean hasTransientWriteParents( Hop hop ) { for( Hop p : hop.getParent() ) if( p instanceof DataOp && ((DataOp)p).getDataOpType()==DataOpTypes.TRANSIENTWRITE ) return true; return false; } - private Hop getFirstTransientWriteParent( Hop hop ) - { + private static Hop getFirstTransientWriteParent( Hop hop ) { for( Hop p : hop.getParent() ) if( p instanceof DataOp && ((DataOp)p).getDataOpType()==DataOpTypes.TRANSIENTWRITE ) return p; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java index 5b3bb2a..7237d94 100644 --- a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java +++ b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java @@ -87,7 +87,7 @@ public class CumulativeOffsetBinary extends Lop return "CumulativeOffsetBinary"; } - private void checkSupportedOperations(OperationTypes op) + private static void checkSupportedOperations(OperationTypes op) throws LopsException { //sanity check for supported aggregates http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java b/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java index 14f9359..697b616 100644 --- a/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java +++ b/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java @@ -49,11 +49,12 @@ public class CumulativeSplitAggregate extends Lop lps.setProperties(inputs, et, ExecLocation.Map, breaksAlignment, aligner, definesMRJob); } + @Override public String toString() { return "CumulativeSplitAggregate"; } - private String getOpcode() { + private static String getOpcode() { return "ucumsplit"; } http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/ZeroOut.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/ZeroOut.java b/src/main/java/org/apache/sysml/lops/ZeroOut.java index 45cb7f9..20bc766 100644 --- a/src/main/java/org/apache/sysml/lops/ZeroOut.java +++ b/src/main/java/org/apache/sysml/lops/ZeroOut.java @@ -67,9 +67,8 @@ public class ZeroOut extends Lop init(input, rowL, rowU, colL, colU, rowDim, colDim, dt, vt, et); } - private String getOpcode() { - - return "zeroOut"; + private static String getOpcode() { + return "zeroOut"; } @Override http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/lops/compile/Dag.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/compile/Dag.java b/src/main/java/org/apache/sysml/lops/compile/Dag.java index c09d1c9..91f49f0 100644 --- a/src/main/java/org/apache/sysml/lops/compile/Dag.java +++ b/src/main/java/org/apache/sysml/lops/compile/Dag.java @@ -1256,7 +1256,7 @@ public class Dag<N extends Lop> * @param delteInst list of instructions * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void processConsumersForInputs(Lop node, ArrayList<Instruction> inst, ArrayList<Instruction> delteInst) throws DMLRuntimeException { + private static void processConsumersForInputs(Lop node, ArrayList<Instruction> inst, ArrayList<Instruction> delteInst) throws DMLRuntimeException { // reduce the consumer count for all input lops // if the count becomes zero, then then variable associated w/ input can be removed for(Lop in : node.getInputs() ) { @@ -2271,7 +2271,7 @@ public class Dag<N extends Lop> return oinfo; } - private String prepareAssignVarInstruction(Lop input, Lop node) { + private static String prepareAssignVarInstruction(Lop input, Lop node) { StringBuilder sb = new StringBuilder(); sb.append(ExecType.CP); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java index 62ed9fb..d63cf7b 100644 --- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java +++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java @@ -244,7 +244,7 @@ public class BuiltinFunctionExpression extends DataIdentifier } } - private ArrayList<ParameterExpression> orderConvolutionParams(ArrayList<ParameterExpression> paramExpression, + private static ArrayList<ParameterExpression> orderConvolutionParams(ArrayList<ParameterExpression> paramExpression, int skip) throws LanguageException { ArrayList<ParameterExpression> newParams = new ArrayList<>(); @@ -272,7 +272,7 @@ public class BuiltinFunctionExpression extends DataIdentifier return newParams; } - private ArrayList<ParameterExpression> replaceListParams(ArrayList<ParameterExpression> paramExpression, + private static ArrayList<ParameterExpression> replaceListParams(ArrayList<ParameterExpression> paramExpression, String inputVarName, String outputVarName, int startIndex) throws LanguageException { ArrayList<ParameterExpression> newParamExpression = new ArrayList<>(); int i = startIndex; @@ -289,7 +289,7 @@ public class BuiltinFunctionExpression extends DataIdentifier return newParamExpression; } - private ArrayList<ParameterExpression> expandListParams(ArrayList<ParameterExpression> paramExpression, + private static ArrayList<ParameterExpression> expandListParams(ArrayList<ParameterExpression> paramExpression, HashSet<String> paramsToExpand) throws LanguageException { ArrayList<ParameterExpression> newParamExpressions = new ArrayList<>(); for(ParameterExpression expr : paramExpression) { @@ -1299,11 +1299,11 @@ public class BuiltinFunctionExpression extends DataIdentifier } } - private boolean isConstant(Expression expr) { + private static boolean isConstant(Expression expr) { return ( expr != null && expr instanceof ConstIdentifier ); } - private double getDoubleValue(Expression expr) + private static double getDoubleValue(Expression expr) throws LanguageException { if ( expr instanceof DoubleIdentifier ) @@ -1475,11 +1475,11 @@ public class BuiltinFunctionExpression extends DataIdentifier } } - private boolean is1DMatrix(Expression e) { + private static boolean is1DMatrix(Expression e) { return (e.getOutput().getDim1() == 1 || e.getOutput().getDim2() == 1 ); } - private boolean dimsKnown(Expression e) { + private static boolean dimsKnown(Expression e) { return (e.getOutput().getDim1() != -1 && e.getOutput().getDim2() != -1); } http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/DMLTranslator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/DMLTranslator.java b/src/main/java/org/apache/sysml/parser/DMLTranslator.java index d41943d..565c367 100644 --- a/src/main/java/org/apache/sysml/parser/DMLTranslator.java +++ b/src/main/java/org/apache/sysml/parser/DMLTranslator.java @@ -1773,7 +1773,7 @@ public class DMLTranslator return null; } - private DataIdentifier createTarget(Expression source) { + private static DataIdentifier createTarget(Expression source) { Identifier id = source.getOutput(); if (id instanceof DataIdentifier && !(id instanceof DataExpression)) return (DataIdentifier) id; @@ -1782,9 +1782,8 @@ public class DMLTranslator return target; } - private DataIdentifier createTarget() { - DataIdentifier target = new DataIdentifier(Expression.getTempName()); - return target; + private static DataIdentifier createTarget() { + return new DataIdentifier(Expression.getTempName()); } @@ -2079,7 +2078,7 @@ public class DMLTranslator } } - private Hop constructDfHop(String name, DataType dt, ValueType vt, ParameterizedBuiltinFunctionOp op, HashMap<String,Hop> paramHops) throws HopsException { + private static Hop constructDfHop(String name, DataType dt, ValueType vt, ParameterizedBuiltinFunctionOp op, HashMap<String,Hop> paramHops) throws HopsException { // Add a hop to paramHops to store distribution information. // Distribution parameter hops would have been already present in paramHops. @@ -3108,7 +3107,7 @@ public class DMLTranslator return currBuiltinOp; } - private void setBlockSizeAndRefreshSizeInfo(Hop in, Hop out) { + private static void setBlockSizeAndRefreshSizeInfo(Hop in, Hop out) { out.setOutputBlocksizes(in.getRowsInBlock(), in.getColsInBlock()); out.refreshSizeInformation(); HopRewriteUtils.copyLineNumbers(in, out); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/ForStatementBlock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/ForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ForStatementBlock.java index 29358db..07a51db 100644 --- a/src/main/java/org/apache/sysml/parser/ForStatementBlock.java +++ b/src/main/java/org/apache/sysml/parser/ForStatementBlock.java @@ -369,7 +369,7 @@ public class ForStatementBlock extends StatementBlock ip.setIncrementExpr(replacementExpr); } - private Expression replaceConstantVar(Expression expr, HashMap<String, ConstIdentifier> currConstVars) + private static Expression replaceConstantVar(Expression expr, HashMap<String, ConstIdentifier> currConstVars) { Expression ret = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java index cd13cb4..0417edb 100644 --- a/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java +++ b/src/main/java/org/apache/sysml/parser/LiveVariableAnalysis.java @@ -93,7 +93,7 @@ public abstract class LiveVariableAnalysis updateLiveVariables(_liveOut,liveOut); } - private void updateLiveVariables(VariableSet origVars, VariableSet newVars){ + private static void updateLiveVariables(VariableSet origVars, VariableSet newVars){ for (String var : newVars.getVariables().keySet()){ if (origVars.containsVariable(var)){ DataIdentifier varId = newVars.getVariable(var); http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java index 1e9cc15..371b22a 100644 --- a/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java +++ b/src/main/java/org/apache/sysml/parser/ParForStatementBlock.java @@ -1746,7 +1746,7 @@ public class ParForStatementBlock extends ForStatementBlock * @param dat indexed identifier * @return string function id */ - private String getFunctionID( IndexedIdentifier dat ) + private static String getFunctionID( IndexedIdentifier dat ) { /* note: using dat.hashCode can be different for same functions, * hence, we use a custom String ID @@ -1777,17 +1777,13 @@ public class ParForStatementBlock extends ForStatementBlock * * @param f1 linear function */ - private void cleanupFunction( LinearFunction f1 ) - { + private static void cleanupFunction( LinearFunction f1 ) { for( int i=0; i<f1._b.length; i++ ) - { - if( f1._vars[i]==null ) - { + if( f1._vars[i]==null ) { f1.removeVar(i); i--; continue; - } - } + } } /** @@ -1829,7 +1825,7 @@ public class ParForStatementBlock extends ForStatementBlock * @param f1 linear function 1 * @param f2 linear function 2 */ - private void forceConsistency(LinearFunction f1, LinearFunction f2) + private static void forceConsistency(LinearFunction f1, LinearFunction f2) { boolean warn = false; @@ -1979,7 +1975,7 @@ public class ParForStatementBlock extends ForStatementBlock return ret; } - private Long parseLongConstant(Expression expr) + private static Long parseLongConstant(Expression expr) { Long ret = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java index 337aa18..fb13289 100644 --- a/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java +++ b/src/main/java/org/apache/sysml/parser/dml/DMLParserWrapper.java @@ -195,7 +195,7 @@ public class DMLParserWrapper extends ParserWrapper return dmlPgm; } - private DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) { + private static DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) { DMLProgram dmlPgm = new DMLProgram(); String namespace = (sourceNamespace != null && sourceNamespace.length() > 0) ? sourceNamespace : DMLProgram.DEFAULT_NAMESPACE; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java index fbccb44..f42f09f 100644 --- a/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java +++ b/src/main/java/org/apache/sysml/parser/dml/DmlSyntacticValidator.java @@ -598,8 +598,8 @@ public class DmlSyntacticValidator extends CommonSyntacticValidator implements D // Control Statements - Guards & Loops // ----------------------------------------------------------------- - private StatementBlock getStatementBlock(Statement current) { - return getStatementBlock(current); + private static StatementBlock getStatementBlock(Statement current) { + return DMLParserWrapper.getStatementBlock(current); } @Override http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java index 6ba6c94..6865683 100644 --- a/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java +++ b/src/main/java/org/apache/sysml/parser/pydml/PyDMLParserWrapper.java @@ -182,7 +182,7 @@ public class PyDMLParserWrapper extends ParserWrapper } - private DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) { + private static DMLProgram createDMLProgram(ProgramrootContext ast, String sourceNamespace) { DMLProgram dmlPgm = new DMLProgram(); String namespace = (sourceNamespace != null && sourceNamespace.length() > 0) ? sourceNamespace : DMLProgram.DEFAULT_NAMESPACE; http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java index 7385613..d5c5e67 100644 --- a/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java +++ b/src/main/java/org/apache/sysml/parser/pydml/PydmlSyntacticValidator.java @@ -560,7 +560,7 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements * @param ctx parameter expression * @return 0 (along rows), 1 (along column) or -1 (for error) */ - private int getAxis(ParameterExpression ctx) { + private static int getAxis(ParameterExpression ctx) { if(ctx.getName() != null && ctx.getName() != null) { if(!ctx.getName().equals("axis")) { return -1; @@ -579,7 +579,7 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements } // TODO : Clean up to use Map or some other structure - private String getPythonAggFunctionNames(String functionName, int axis) { + private static String getPythonAggFunctionNames(String functionName, int axis) { if(axis != 0 && axis != 1) { return functionName; } @@ -1216,8 +1216,8 @@ public class PydmlSyntacticValidator extends CommonSyntacticValidator implements // Control Statements - Guards & Loops // ----------------------------------------------------------------- - private StatementBlock getStatementBlock(Statement current) { - return getStatementBlock(current); + private static StatementBlock getStatementBlock(Statement current) { + return PyDMLParserWrapper.getStatementBlock(current); } @Override http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java index 773badd..86c4ece 100644 --- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java +++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofCellwise.java @@ -227,7 +227,7 @@ public abstract class SpoofCellwise extends SpoofOperator implements Serializabl case COL_AGG: out.reset(1, n, false); break; default: throw new DMLRuntimeException("Invalid cell type: "+_type); } - out.allocateDenseOrSparseBlock(); + out.allocateBlock(); long lnnz = 0; if( k <= 1 ) //SINGLE-THREADED http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java index 729d512..4f55c79 100644 --- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java +++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofOuterProduct.java @@ -180,7 +180,7 @@ public abstract class SpoofOuterProduct extends SpoofOperator //check for empty inputs; otherwise allocate result if( inputs.get(0).isEmptyBlock(false) ) return out; - out.allocateDenseOrSparseBlock(); + out.allocateBlock(); //input preparation double[][] ab = getDenseMatrices(prepInputMatrices(inputs, 1, 2, true, false)); @@ -249,7 +249,7 @@ public abstract class SpoofOuterProduct extends SpoofOperator { //assign it to the time and sparse representation of the major input matrix out.reset(inputs.get(0).getNumRows(), inputs.get(0).getNumColumns(), inputs.get(0).isInSparseFormat()); - out.allocateDenseOrSparseBlock(); + out.allocateBlock(); } else { http://git-wip-us.apache.org/repos/asf/systemml/blob/13a01758/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java index 88aafd2..d8a747b 100644 --- a/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java +++ b/src/main/java/org/apache/sysml/runtime/codegen/SpoofRowwise.java @@ -276,7 +276,7 @@ public abstract class SpoofRowwise extends SpoofOperator out.allocateDenseBlock(); } - private void fixTransposeDimensions(MatrixBlock out) { + private static void fixTransposeDimensions(MatrixBlock out) { int rlen = out.getNumRows(); out.setNumRows(out.getNumColumns()); out.setNumColumns(rlen);
