Repository: incubator-systemml Updated Branches: refs/heads/master a429e2df9 -> a929ae6e6
[SYSTEMML-1327] Remove redundancy of instruction generation, cleanups Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/86a8e148 Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/86a8e148 Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/86a8e148 Branch: refs/heads/master Commit: 86a8e148062391131a3d9fd615652e7050cbac24 Parents: a429e2d Author: Matthias Boehm <[email protected]> Authored: Thu Mar 23 18:41:42 2017 -0700 Committer: Matthias Boehm <[email protected]> Committed: Thu Mar 23 18:41:42 2017 -0700 ---------------------------------------------------------------------- .../java/org/apache/sysml/lops/Aggregate.java | 46 +++----- .../java/org/apache/sysml/lops/AppendCP.java | 8 +- .../java/org/apache/sysml/lops/AppendG.java | 6 +- .../org/apache/sysml/lops/AppendGAlignedSP.java | 7 +- .../java/org/apache/sysml/lops/AppendR.java | 8 +- src/main/java/org/apache/sysml/lops/Binary.java | 15 ++- .../java/org/apache/sysml/lops/BinaryM.java | 21 ++-- .../org/apache/sysml/lops/BinaryUAggChain.java | 30 +---- .../java/org/apache/sysml/lops/CSVReBlock.java | 52 ++------- .../org/apache/sysml/lops/CentralMoment.java | 32 ++---- .../java/org/apache/sysml/lops/CoVariance.java | 45 ++------ .../sysml/lops/CumulativeOffsetBinary.java | 20 +--- .../sysml/lops/CumulativePartialAggregate.java | 21 +--- .../sysml/lops/CumulativeSplitAggregate.java | 2 - src/main/java/org/apache/sysml/lops/Data.java | 5 +- .../org/apache/sysml/lops/DataPartition.java | 31 +---- src/main/java/org/apache/sysml/lops/Group.java | 9 +- .../apache/sysml/lops/GroupedAggregateM.java | 20 +--- src/main/java/org/apache/sysml/lops/Lop.java | 4 +- src/main/java/org/apache/sysml/lops/MMCJ.java | 44 +++----- src/main/java/org/apache/sysml/lops/MMRJ.java | 22 +--- src/main/java/org/apache/sysml/lops/MMTSJ.java | 30 +---- src/main/java/org/apache/sysml/lops/MMZip.java | 3 +- .../java/org/apache/sysml/lops/MapMult.java | 74 +++--------- .../org/apache/sysml/lops/MapMultChain.java | 113 +++---------------- src/main/java/org/apache/sysml/lops/PMMJ.java | 58 +++------- .../org/apache/sysml/lops/PartialAggregate.java | 38 ++----- .../java/org/apache/sysml/lops/PlusMult.java | 70 ++++-------- .../java/org/apache/sysml/lops/ReBlock.java | 51 ++------- src/main/java/org/apache/sysml/lops/RepMat.java | 3 +- .../org/apache/sysml/lops/UAggOuterChain.java | 37 +----- src/main/java/org/apache/sysml/lops/Unary.java | 26 ++--- .../apache/sysml/lops/WeightedCrossEntropy.java | 17 +-- .../sysml/lops/WeightedCrossEntropyR.java | 8 +- .../org/apache/sysml/lops/WeightedDivMM.java | 17 +-- .../org/apache/sysml/lops/WeightedDivMMR.java | 8 +- .../org/apache/sysml/lops/WeightedSigmoid.java | 17 +-- .../org/apache/sysml/lops/WeightedSigmoidR.java | 9 +- .../apache/sysml/lops/WeightedSquaredLoss.java | 17 +-- .../apache/sysml/lops/WeightedSquaredLossR.java | 8 +- .../org/apache/sysml/lops/WeightedUnaryMM.java | 17 +-- .../org/apache/sysml/lops/WeightedUnaryMMR.java | 8 +- .../java/org/apache/sysml/lops/ZeroOut.java | 5 +- .../java/org/apache/sysml/lops/compile/Dag.java | 12 +- .../org/apache/sysml/lops/compile/JobType.java | 5 +- 45 files changed, 284 insertions(+), 815 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 586a337..0eefb16 100644 --- a/src/main/java/org/apache/sysml/lops/Aggregate.java +++ b/src/main/java/org/apache/sysml/lops/Aggregate.java @@ -127,48 +127,31 @@ public class Aggregate extends Lop } @Override - public String getInstructions(String input1, String output) throws LopsException { - String opcode = getOpcode(); - - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( opcode ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(0).prepInputOperand(input1)); - sb.append( OPERAND_DELIMITOR ); - - sb.append( this.prepOutputOperand(output)); - - return sb.toString(); + public String getInstructions(int input_index, int output_index) throws LopsException { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } - + @Override - public String getInstructions(int input_index, int output_index) throws LopsException + public String getInstructions(String input1, String output) + throws LopsException { - boolean isCorrectionApplicable = false; - - String opcode = getOpcode(); - if (operation == OperationTypes.Mean || operation == OperationTypes.Var + boolean isCorrectionApplicable = (getExecType() == ExecType.MR && + (operation == OperationTypes.Mean || operation == OperationTypes.Var || operation == OperationTypes.KahanSum || operation == OperationTypes.KahanSumSq - || operation == OperationTypes.KahanTrace) - isCorrectionApplicable = true; - + || operation == OperationTypes.KahanTrace)); + StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( OPERAND_DELIMITOR ); - sb.append( opcode ); + sb.append( getOpcode() ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index)); + sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index)); + sb.append( this.prepOutputOperand(output)); - if ( isCorrectionApplicable ) - { - // add correction information to the instruction + if ( isCorrectionApplicable ) { sb.append( OPERAND_DELIMITOR ); sb.append( isCorrectionUsed ); sb.append( OPERAND_DELIMITOR ); @@ -177,7 +160,4 @@ public class Aggregate extends Lop return sb.toString(); } - - - } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/AppendCP.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/AppendCP.java b/src/main/java/org/apache/sysml/lops/AppendCP.java index 6b2d361..e76f21e 100644 --- a/src/main/java/org/apache/sysml/lops/AppendCP.java +++ b/src/main/java/org/apache/sysml/lops/AppendCP.java @@ -65,7 +65,7 @@ public class AppendCP extends Lop } //called when append executes in CP - public String getInstructions(String input_index1, String input_index2, String input_index3, String output_index) + public String getInstructions(String input1, String input2, String input3, String output) throws LopsException { StringBuilder sb = new StringBuilder(); @@ -74,16 +74,16 @@ public class AppendCP extends Lop sb.append( "append" ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1+"")); + sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2+"")); + sb.append( getInputs().get(1).prepInputOperand(input2)); sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(2).prepScalarInputOperand(getExecType())); sb.append( OPERAND_DELIMITOR ); - sb.append( prepOutputOperand(output_index+"") ); + sb.append( prepOutputOperand(output) ); sb.append( OPERAND_DELIMITOR ); sb.append( _cbind ); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 de38f21..161dea1 100644 --- a/src/main/java/org/apache/sysml/lops/AppendG.java +++ b/src/main/java/org/apache/sysml/lops/AppendG.java @@ -108,10 +108,10 @@ public class AppendG extends Lop sb.append( OPCODE ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1+"")); + sb.append( getInputs().get(0).prepInputOperand(input_index1)); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2+"")); + sb.append( getInputs().get(1).prepInputOperand(input_index2)); sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(2).prepScalarInputOperand(getExecType())); @@ -120,7 +120,7 @@ public class AppendG extends Lop sb.append( getInputs().get(3).prepScalarInputOperand(getExecType())); sb.append( OPERAND_DELIMITOR ); - sb.append( prepOutputOperand(output_index+"") ); + sb.append( prepOutputOperand(output_index) ); sb.append( OPERAND_DELIMITOR ); sb.append( _cbind ); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 a97e873..0222702 100644 --- a/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java +++ b/src/main/java/org/apache/sysml/lops/AppendGAlignedSP.java @@ -73,16 +73,16 @@ public class AppendGAlignedSP extends Lop sb.append( OPCODE ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1+"")); + sb.append( getInputs().get(0).prepInputOperand(input_index1)); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2+"")); + sb.append( getInputs().get(1).prepInputOperand(input_index2)); sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(2).prepScalarInputOperand(getExecType())); sb.append( OPERAND_DELIMITOR ); - sb.append( prepOutputOperand(output_index+"") ); + sb.append( prepOutputOperand(output_index) ); sb.append( OPERAND_DELIMITOR ); sb.append( _cbind ); @@ -90,4 +90,3 @@ public class AppendGAlignedSP extends Lop return sb.toString(); } } - http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 2b7c7eb..8495efe 100644 --- a/src/main/java/org/apache/sysml/lops/AppendR.java +++ b/src/main/java/org/apache/sysml/lops/AppendR.java @@ -80,7 +80,7 @@ public class AppendR extends Lop } //called when append executes in CP - public String getInstructions(String input_index1, String input_index2, String output_index) + public String getInstructions(String input1, String input2, String output) throws LopsException { StringBuilder sb = new StringBuilder(); @@ -90,13 +90,13 @@ public class AppendR extends Lop sb.append( OPCODE ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1+"")); + sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2+"")); + sb.append( getInputs().get(1).prepInputOperand(input2)); sb.append( OPERAND_DELIMITOR ); - sb.append( prepOutputOperand(output_index+"") ); + sb.append( prepOutputOperand(output) ); sb.append( OPERAND_DELIMITOR ); sb.append( _cbind ); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 89c1f47..d42cb3b 100644 --- a/src/main/java/org/apache/sysml/lops/Binary.java +++ b/src/main/java/org/apache/sysml/lops/Binary.java @@ -175,6 +175,15 @@ public class Binary extends Lop } } + + @Override + public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException { + return getInstructions( + String.valueOf(input_index1), + String.valueOf(input_index2), + String.valueOf(output_index)); + } + @Override public String getInstructions(String input1, String input2, String output) throws LopsException @@ -207,10 +216,4 @@ public class Binary extends Lop return sb.toString(); } - - @Override - public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException - { - return getInstructions(input_index1+"", input_index2+"", output_index+""); - } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 f6a29cb..d3183e6 100644 --- a/src/main/java/org/apache/sysml/lops/BinaryM.java +++ b/src/main/java/org/apache/sysml/lops/BinaryM.java @@ -177,6 +177,15 @@ public class BinaryM extends Lop opcode.equals("map^") || opcode.equals("map1-*"); } + + @Override + public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException { + return getInstructions( + String.valueOf(input_index1), + String.valueOf(input_index2), + String.valueOf(output_index)); + } + @Override public String getInstructions(String input1, String input2, String output) throws LopsException @@ -206,20 +215,12 @@ public class BinaryM extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) throws LopsException - { - return getInstructions(input_index1+"", input_index2+"", output_index+""); - } - - @Override - public boolean usesDistributedCache() - { + public boolean usesDistributedCache() { return true; } @Override - public int[] distributedCacheInputIndex() - { + public int[] distributedCacheInputIndex() { // second input is from distributed cache return new int[]{2}; } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 eebb3b8..3203cf5 100644 --- a/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java +++ b/src/main/java/org/apache/sysml/lops/BinaryUAggChain.java @@ -93,32 +93,10 @@ public class BinaryUAggChain extends Lop } @Override - public String getInstructions(int input_index1, int output_index) - { - StringBuilder sb = new StringBuilder(); - - //exec type - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - //inst op code - sb.append(OPCODE); - sb.append(Lop.OPERAND_DELIMITOR); - - //outer operation op code - sb.append(Binary.getOpcode(_binOp)); - sb.append(Lop.OPERAND_DELIMITOR); - - //inner operation op code - sb.append(PartialAggregate.getOpcode(_uaggOp, _uaggDir)); - sb.append(Lop.OPERAND_DELIMITOR); - - //inputs and outputs - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - return sb.toString(); + public String getInstructions(int input_index1, int output_index) { + return getInstructions( + String.valueOf(input_index1), + String.valueOf(output_index)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 5bca2bb..a15e036 100644 --- a/src/main/java/org/apache/sysml/lops/CSVReBlock.java +++ b/src/main/java/org/apache/sysml/lops/CSVReBlock.java @@ -134,62 +134,28 @@ 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) throws LopsException { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); + } + + @Override + public String getInstructions(String input1, String output) throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( Lop.OPERAND_DELIMITOR ); sb.append( OPCODE ); sb.append( OPERAND_DELIMITOR ); - - Lop input = getInputs().get(0); - - sb.append( input.prepInputOperand(input_index) ); + sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append( OPERAND_DELIMITOR ); - - sb.append( this.prepOutputOperand(output_index) ); + sb.append( prepOutputOperand(output)); sb.append( OPERAND_DELIMITOR ); - sb.append( rows_per_block ); sb.append( OPERAND_DELIMITOR ); sb.append( cols_per_block ); sb.append( OPERAND_DELIMITOR ); sb.append( prepCSVProperties() ); - - return sb.toString(); - } - - @Override - public String getInstructions(String input1, String output) throws LopsException { - if(getExecType() != ExecType.SPARK) { - throw new LopsException("The method getInstructions(String,String) for CSVReblock should be called only for Spark execution type"); - } - - if (this.getInputs().size() == 1) { - - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( OPCODE ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input1)); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output)); - sb.append( OPERAND_DELIMITOR ); - sb.append( rows_per_block ); - sb.append( OPERAND_DELIMITOR ); - sb.append( cols_per_block ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( prepCSVProperties() ); - - return sb.toString(); - } else { - throw new LopsException(this.printErrorLocation() + "Invalid number of operands (" - + this.getInputs().size() + ") for CSVReblock operation"); - } + return sb.toString(); } - } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/CentralMoment.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CentralMoment.java b/src/main/java/org/apache/sysml/lops/CentralMoment.java index fcacd5d..85b6ba2 100644 --- a/src/main/java/org/apache/sysml/lops/CentralMoment.java +++ b/src/main/java/org/apache/sysml/lops/CentralMoment.java @@ -77,7 +77,6 @@ public class CentralMoment extends Lop @Override public String toString() { - return "Operation = CentralMoment"; } @@ -102,11 +101,14 @@ public class CentralMoment extends Lop sb.append( OPERAND_DELIMITOR ); // Weights - sb.append( getInputs().get(1).prepInputOperand(input2) ); - sb.append( OPERAND_DELIMITOR ); + if( input3 != null ) { + sb.append( getInputs().get(1).prepInputOperand(input2) ); + sb.append( OPERAND_DELIMITOR ); + } // Order - sb.append( getInputs().get(2).prepScalarInputOperand(getExecType()) ); + sb.append( getInputs().get((input3!=null)?2:1) + .prepScalarInputOperand(getExecType()) ); sb.append( OPERAND_DELIMITOR ); sb.append( prepOutputOperand(output)); @@ -122,24 +124,7 @@ public class CentralMoment extends Lop */ @Override public String getInstructions(String input1, String input2, String output) { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - - sb.append( "cm" ); - sb.append( OPERAND_DELIMITOR ); - - // Input data (can be weighted or unweighted) - sb.append( getInputs().get(0).prepInputOperand(input1)); - sb.append( OPERAND_DELIMITOR ); - - // Order - sb.append( getInputs().get(1).prepScalarInputOperand(getExecType()) ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( this.prepOutputOperand(output)); - - return sb.toString(); + return getInstructions(input1, input2, null, output); } /** @@ -154,7 +139,6 @@ public class CentralMoment extends Lop */ @Override public String getInstructions(int input_index, int output_index) { - return getInstructions(input_index+"", "", output_index+""); + return getInstructions(String.valueOf(input_index), "", String.valueOf(output_index)); } - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 97429a9..8e84222 100644 --- a/src/main/java/org/apache/sysml/lops/CoVariance.java +++ b/src/main/java/org/apache/sysml/lops/CoVariance.java @@ -100,21 +100,7 @@ public class CoVariance extends Lop */ @Override public String getInstructions(String input1, String input2, String output) { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "cov" ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(0).prepInputOperand(input1)); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(1).prepInputOperand(input2)); - sb.append( OPERAND_DELIMITOR ); - - sb.append( this.prepOutputOperand(output)); - - return sb.toString(); + return getInstructions(input1, input2, null, output); } /** @@ -134,13 +120,17 @@ public class CoVariance extends Lop sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input2)); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(2).prepInputOperand(input3)); - sb.append( OPERAND_DELIMITOR ); + if( input2 != null ) { + sb.append( getInputs().get(1).prepInputOperand(input2)); + sb.append( OPERAND_DELIMITOR ); + } + + if( input3 != null ) { + sb.append( getInputs().get(2).prepInputOperand(input3)); + sb.append( OPERAND_DELIMITOR ); + } - sb.append( this.prepOutputOperand(output)); + sb.append( prepOutputOperand(output)); return sb.toString(); } @@ -152,18 +142,7 @@ public class CoVariance extends Lop */ @Override public String getInstructions(int input_index, int output_index) { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "cov" ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(0).prepInputOperand(input_index)); - sb.append( OPERAND_DELIMITOR ); - - sb.append ( this.prepInputOperand(output_index)); - - return sb.toString(); + return getInstructions(String.valueOf(input_index), null, null, String.valueOf(output_index)); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 9dc93b9..5b3bb2a 100644 --- a/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java +++ b/src/main/java/org/apache/sysml/lops/CumulativeOffsetBinary.java @@ -109,26 +109,13 @@ public class CumulativeOffsetBinary extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - throws LopsException - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getOpcode() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1) ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2) ); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index) ); - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), + String.valueOf(input_index2), String.valueOf(output_index)); } @Override public String getInstructions(String input1, String input2, String output) - throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); @@ -140,6 +127,7 @@ public class CumulativeOffsetBinary extends Lop sb.append( getInputs().get(1).prepInputOperand(input2) ); sb.append( OPERAND_DELIMITOR ); sb.append( this.prepOutputOperand(output) ); + if( getExecType() == ExecType.SPARK ) { sb.append( OPERAND_DELIMITOR ); sb.append( _initValue ); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/CumulativePartialAggregate.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/CumulativePartialAggregate.java b/src/main/java/org/apache/sysml/lops/CumulativePartialAggregate.java index ccd25a9..3e0e6a3 100644 --- a/src/main/java/org/apache/sysml/lops/CumulativePartialAggregate.java +++ b/src/main/java/org/apache/sysml/lops/CumulativePartialAggregate.java @@ -90,25 +90,12 @@ public class CumulativePartialAggregate extends Lop } @Override - public String getInstructions(int input_index, int output_index) - throws LopsException - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getOpcode() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index) ); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index) ); - - return sb.toString(); + public String getInstructions(int input_index, int output_index) { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } @Override - public String getInstructions(String input, String output) - throws LopsException - { + public String getInstructions(String input, String output) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( OPERAND_DELIMITOR ); @@ -116,7 +103,7 @@ public class CumulativePartialAggregate extends Lop sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(0).prepInputOperand(input) ); sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output) ); + sb.append( prepOutputOperand(output) ); return sb.toString(); } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 252af95..14f9359 100644 --- a/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java +++ b/src/main/java/org/apache/sysml/lops/CumulativeSplitAggregate.java @@ -26,7 +26,6 @@ import org.apache.sysml.parser.Expression.*; public class CumulativeSplitAggregate extends Lop { - private double _initValue = 0; public CumulativeSplitAggregate(Lop input, DataType dt, ValueType vt, double init) @@ -60,7 +59,6 @@ public class CumulativeSplitAggregate extends Lop @Override public String getInstructions(int input_index, int output_index) - throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/Data.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Data.java b/src/main/java/org/apache/sysml/lops/Data.java index 8e723c4..b8e40af 100644 --- a/src/main/java/org/apache/sysml/lops/Data.java +++ b/src/main/java/org/apache/sysml/lops/Data.java @@ -259,11 +259,8 @@ public class Data extends Lop * method to check if this data lop represents a literal. * @return true if data lop is a literal */ - - public boolean isLiteral() - { + public boolean isLiteral() { return literal_var; - } public boolean getBooleanValue() throws LopsException { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/DataPartition.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/DataPartition.java b/src/main/java/org/apache/sysml/lops/DataPartition.java index 537dbaa..81599db 100644 --- a/src/main/java/org/apache/sysml/lops/DataPartition.java +++ b/src/main/java/org/apache/sysml/lops/DataPartition.java @@ -61,11 +61,8 @@ public class DataPartition extends Lop return "DataPartition"; } - //CP instruction generation @Override - public String getInstructions(String input_index, String output_index) - throws LopsException - { + public String getInstructions(String input_index, String output_index) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( Lop.OPERAND_DELIMITOR ); @@ -88,30 +85,8 @@ public class DataPartition extends Lop return sb.toString(); } - //MR instruction generation @Override - public String getInstructions(int input_index, int output_index) - throws LopsException - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( OPCODE ); - sb.append( OPERAND_DELIMITOR ); - sb.append( input_index ); - sb.append( DATATYPE_PREFIX ); - sb.append( getInputs().get(0).getDataType() ); - sb.append( VALUETYPE_PREFIX ); - sb.append( getInputs().get(0).getValueType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( output_index ); - sb.append( DATATYPE_PREFIX ); - sb.append( getDataType() ); - sb.append( VALUETYPE_PREFIX ); - sb.append( getValueType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( _pformat.toString() ); - - return sb.toString(); + public String getInstructions(int input_index, int output_index) { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/Group.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Group.java b/src/main/java/org/apache/sysml/lops/Group.java index 15a470f..7fe238b 100644 --- a/src/main/java/org/apache/sysml/lops/Group.java +++ b/src/main/java/org/apache/sysml/lops/Group.java @@ -30,9 +30,6 @@ import org.apache.sysml.parser.Expression.*; public class Group extends Lop { - - - public enum OperationTypes {Sort}; OperationTypes operation; @@ -67,11 +64,7 @@ public class Group extends Lop } @Override - public String toString() - { - //return "Group " + "Operation: " + operation; + public String toString() { return "Operation: " + operation; - } - } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/GroupedAggregateM.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/GroupedAggregateM.java b/src/main/java/org/apache/sysml/lops/GroupedAggregateM.java index a8f9cf2..ff0f2a2 100644 --- a/src/main/java/org/apache/sysml/lops/GroupedAggregateM.java +++ b/src/main/java/org/apache/sysml/lops/GroupedAggregateM.java @@ -88,8 +88,7 @@ public class GroupedAggregateM extends Lop } @Override - public String getInstructions(int input1, int input2, int output) - { + public String getInstructions(int input1, int input2, int output) { return getInstructions( String.valueOf(input1), String.valueOf(input2), @@ -126,20 +125,13 @@ public class GroupedAggregateM extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2} : new int[]{-1}; } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/Lop.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Lop.java b/src/main/java/org/apache/sysml/lops/Lop.java index 24f7ba3..c92fb57 100644 --- a/src/main/java/org/apache/sysml/lops/Lop.java +++ b/src/main/java/org/apache/sysml/lops/Lop.java @@ -721,7 +721,7 @@ public abstract class Lop } public String prepOutputOperand(int index) { - return prepOperand(index+""); + return prepOperand(String.valueOf(index)); } public String prepOutputOperand(String label) { return prepOperand(label); @@ -804,7 +804,7 @@ public abstract class Lop } public String prepInputOperand(int index) { - return prepInputOperand(index+""); + return prepInputOperand(String.valueOf(index)); } public String prepInputOperand(String label) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MMCJ.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MMCJ.java b/src/main/java/org/apache/sysml/lops/MMCJ.java index 3d3fc8e..429520e 100644 --- a/src/main/java/org/apache/sysml/lops/MMCJ.java +++ b/src/main/java/org/apache/sysml/lops/MMCJ.java @@ -31,8 +31,6 @@ import org.apache.sysml.parser.Expression.*; */ public class MMCJ extends Lop { - - public enum MMCJType { AGG, NO_AGG, @@ -83,41 +81,21 @@ public class MMCJ extends Lop } } - public MMCJ(Lop input1, Lop input2, DataType dt, ValueType vt, SparkAggType aggtype, ExecType et) - { + public MMCJ(Lop input1, Lop input2, DataType dt, ValueType vt, SparkAggType aggtype, ExecType et) { this(input1, input2, dt, vt, MMCJType.NO_AGG, et); - _aggtype = aggtype; } @Override public String toString() { - return "Operation = MMCJ"; } - //MR instruction generation @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "cpmm" ); - sb.append( OPERAND_DELIMITOR ); - - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index)); - - sb.append( OPERAND_DELIMITOR ); - sb.append( _type ); - - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), + String.valueOf(input_index2), String.valueOf(output_index)); } //SPARK instruction generation @@ -126,19 +104,25 @@ public class MMCJ extends Lop { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); + sb.append( Lop.OPERAND_DELIMITOR ); sb.append( "cpmm" ); - sb.append( OPERAND_DELIMITOR ); + sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(0).prepInputOperand(input1) ); + sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(1).prepInputOperand(input2) ); + sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output) ); + sb.append( prepOutputOperand(output) ); sb.append( OPERAND_DELIMITOR ); - sb.append( _aggtype ); - + if( getExecType() == ExecType.SPARK ) + sb.append(_aggtype.name()); + else + sb.append(_type.name()); + return sb.toString(); } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MMRJ.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MMRJ.java b/src/main/java/org/apache/sysml/lops/MMRJ.java index 550960a..0ded233 100644 --- a/src/main/java/org/apache/sysml/lops/MMRJ.java +++ b/src/main/java/org/apache/sysml/lops/MMRJ.java @@ -30,8 +30,6 @@ import org.apache.sysml.parser.Expression.*; */ public class MMRJ extends Lop { - - /** * Constructor to perform a cross product operation. * @@ -71,25 +69,13 @@ public class MMRJ extends Lop @Override public String toString() { - return "Operation = MMRJ"; } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "rmm" ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index)); - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), + String.valueOf(input_index2), String.valueOf(output_index)); } @Override @@ -108,4 +94,4 @@ public class MMRJ extends Lop return sb.toString(); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MMTSJ.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MMTSJ.java b/src/main/java/org/apache/sysml/lops/MMTSJ.java index c6fd535..fd5fbe3 100644 --- a/src/main/java/org/apache/sysml/lops/MMTSJ.java +++ b/src/main/java/org/apache/sysml/lops/MMTSJ.java @@ -79,31 +79,13 @@ public class MMTSJ extends Lop return "Operation = MMTSJ"; } - /** - * MR instruction generation. - */ @Override - public String getInstructions(int input_index1, int output_index) - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "tsmm" ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index)); - sb.append( OPERAND_DELIMITOR ); - sb.append( _type ); - - return sb.toString(); + public String getInstructions(int input_index1, int output_index) { + return getInstructions(String.valueOf(input_index1), String.valueOf(output_index)); } - /** - * CP and Spark instruction generation. - */ @Override - public String getInstructions(String input_index1, String output_index) throws LopsException + public String getInstructions(String input_index1, String output_index) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); @@ -112,7 +94,7 @@ public class MMTSJ extends Lop sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(0).prepInputOperand(input_index1)); sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index)); + sb.append( prepOutputOperand(output_index)); sb.append( OPERAND_DELIMITOR ); sb.append( _type ); @@ -124,6 +106,4 @@ public class MMTSJ extends Lop return sb.toString(); } - - -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MMZip.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MMZip.java b/src/main/java/org/apache/sysml/lops/MMZip.java index 40382d2..9353b8f 100644 --- a/src/main/java/org/apache/sysml/lops/MMZip.java +++ b/src/main/java/org/apache/sysml/lops/MMZip.java @@ -55,7 +55,6 @@ public class MMZip extends Lop @Override public String toString() { - return "Operation = MMZip"; } @@ -77,4 +76,4 @@ public class MMZip extends Lop return sb.toString(); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MapMult.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MapMult.java b/src/main/java/org/apache/sysml/lops/MapMult.java index 6597136..d4919bc 100644 --- a/src/main/java/org/apache/sysml/lops/MapMult.java +++ b/src/main/java/org/apache/sysml/lops/MapMult.java @@ -29,7 +29,6 @@ import org.apache.sysml.parser.Expression.ValueType; public class MapMult extends Lop { - public static final String OPCODE = "mapmm"; public enum CacheType { @@ -139,91 +138,52 @@ public class MapMult extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - { - //MR instruction generation - - StringBuilder sb = new StringBuilder(); - - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - sb.append(OPCODE); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_cacheType); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_outputEmptyBlocks); - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), + String.valueOf(input_index2), String.valueOf(output_index)); } @Override public String getInstructions(String input1, String input2, String output) { - //Spark instruction generation - StringBuilder sb = new StringBuilder(); sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(OPCODE); sb.append(Lop.OPERAND_DELIMITOR); + sb.append(OPCODE); - sb.append( getInputs().get(0).prepInputOperand(input1)); sb.append(Lop.OPERAND_DELIMITOR); + sb.append( getInputs().get(0).prepInputOperand(input1)); - - sb.append( getInputs().get(1).prepInputOperand(input2)); sb.append(Lop.OPERAND_DELIMITOR); + sb.append( getInputs().get(1).prepInputOperand(input2)); - sb.append( this.prepOutputOperand(output)); sb.append(Lop.OPERAND_DELIMITOR); + sb.append(prepOutputOperand(output)); - sb.append(_cacheType); sb.append(Lop.OPERAND_DELIMITOR); + sb.append(_cacheType); - sb.append(_outputEmptyBlocks); sb.append(Lop.OPERAND_DELIMITOR); + sb.append(_outputEmptyBlocks); - sb.append(_aggtype.toString()); + if( getExecType() == ExecType.SPARK ) { + sb.append(Lop.OPERAND_DELIMITOR); + sb.append(_aggtype.toString()); + } return sb.toString(); } @Override - public boolean usesDistributedCache() - { + public boolean usesDistributedCache() { return true; } @Override - public int[] distributedCacheInputIndex() - { - switch( _cacheType ) - { - // first input is from distributed cache - case LEFT: - case LEFT_PART: - return new int[]{1}; - - // second input is from distributed cache - case RIGHT: - case RIGHT_PART: - return new int[]{2}; - } - - return new int[]{-1}; //error + public int[] distributedCacheInputIndex() { + return _cacheType.isRight() ? + new int[]{2} : new int[]{1}; } } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/MapMultChain.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/MapMultChain.java b/src/main/java/org/apache/sysml/lops/MapMultChain.java index 163fa6d..f3eb6b5 100644 --- a/src/main/java/org/apache/sysml/lops/MapMultChain.java +++ b/src/main/java/org/apache/sysml/lops/MapMultChain.java @@ -28,7 +28,6 @@ import org.apache.sysml.parser.Expression.ValueType; public class MapMultChain extends Lop { - public static final String OPCODE = "mapmmchain"; public static final String OPCODE_CP = "mmchain"; @@ -126,93 +125,20 @@ public class MapMultChain extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - { - //MR instruction XtXv - StringBuilder sb = new StringBuilder(); - - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - sb.append(OPCODE); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_chainType); - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), String.valueOf(input_index2), + null, String.valueOf(output_index)); } @Override - public String getInstructions(int input_index1, int input_index2, int input_index3, int output_index) - { - //MR instruction XtwXv - StringBuilder sb = new StringBuilder(); - - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - sb.append(OPCODE); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(2).prepInputOperand(input_index3)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_chainType); - - return sb.toString(); + 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), + String.valueOf(input_index3), String.valueOf(output_index)); } @Override - public String getInstructions(String input1, String input2, String output) - { - //Spark instruction XtXv - StringBuilder sb = new StringBuilder(); - - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - if( getExecType()==ExecType.CP ) - sb.append(OPCODE_CP); - else - sb.append(OPCODE); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(0).prepInputOperand(input1)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input2)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_chainType); - - //append degree of parallelism for matrix multiplications - if( getExecType()==ExecType.CP ) { - sb.append( OPERAND_DELIMITOR ); - sb.append( _numThreads ); - } - - return sb.toString(); + public String getInstructions(String input1, String input2, String output) { + return getInstructions(input1, input2, null, output); } @Override @@ -235,11 +161,13 @@ public class MapMultChain extends Lop sb.append(Lop.OPERAND_DELIMITOR); sb.append( getInputs().get(1).prepInputOperand(input2)); - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(2).prepInputOperand(input3)); + if( input3 != null ) { + sb.append(Lop.OPERAND_DELIMITOR); + sb.append( getInputs().get(2).prepInputOperand(input3)); + } sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output)); + sb.append(prepOutputOperand(output)); sb.append(Lop.OPERAND_DELIMITOR); sb.append(_chainType); @@ -254,20 +182,13 @@ public class MapMultChain extends Lop } @Override - public boolean usesDistributedCache() - { + public boolean usesDistributedCache() { return true; } @Override - public int[] distributedCacheInputIndex() - { - if( _chainType == ChainType.XtXv ) - return new int[]{2}; - else if( _chainType == ChainType.XtwXv || _chainType == ChainType.XtXvy ) - return new int[]{2,3}; - - //error - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (_chainType == ChainType.XtXv) ? + new int[]{2} : new int[]{2,3}; } } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/PMMJ.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/PMMJ.java b/src/main/java/org/apache/sysml/lops/PMMJ.java index c371049..0f4e9c3 100644 --- a/src/main/java/org/apache/sysml/lops/PMMJ.java +++ b/src/main/java/org/apache/sysml/lops/PMMJ.java @@ -82,39 +82,13 @@ public class PMMJ extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int input_index3, int output_index) - { - StringBuilder sb = new StringBuilder(); - - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - sb.append(OPCODE); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(2).prepScalarLabel() ); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_cacheType); - - sb.append(Lop.OPERAND_DELIMITOR); - sb.append(_outputEmptyBlocks); - - return sb.toString(); + 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), + String.valueOf(input_index3), String.valueOf(output_index)); } @Override public String getInstructions(String input_index1, String input_index2, String input_index3, String output_index) - throws LopsException { StringBuilder sb = new StringBuilder(); @@ -130,18 +104,25 @@ public class PMMJ extends Lop sb.append( getInputs().get(1).prepInputOperand(input_index2)); sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(2).prepInputOperand(input_index3)); + if( getExecType() == ExecType.MR ) + sb.append( getInputs().get(2).prepScalarLabel() ); + else + sb.append( getInputs().get(2).prepInputOperand(input_index3)); sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); + sb.append( prepOutputOperand(output_index)); - if( getExecType() == ExecType.SPARK ) - { + if( getExecType() == ExecType.SPARK ) { sb.append(Lop.OPERAND_DELIMITOR); sb.append(_cacheType); } - else if( getExecType()==ExecType.CP ) { - //append degree of parallelism + else if( getExecType() == ExecType.MR ) { + sb.append(Lop.OPERAND_DELIMITOR); + sb.append(_cacheType); + sb.append(Lop.OPERAND_DELIMITOR); + sb.append(_outputEmptyBlocks); + } + else if( getExecType() == ExecType.CP ) { sb.append( OPERAND_DELIMITOR ); sb.append( _numThreads ); } @@ -150,15 +131,12 @@ public class PMMJ extends Lop } @Override - public boolean usesDistributedCache() - { + public boolean usesDistributedCache() { return true; } @Override - public int[] distributedCacheInputIndex() - { - //always left cached selection vector + public int[] distributedCacheInputIndex() { return new int[]{1}; } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/PartialAggregate.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/PartialAggregate.java b/src/main/java/org/apache/sysml/lops/PartialAggregate.java index ce54655..512c7f1 100644 --- a/src/main/java/org/apache/sysml/lops/PartialAggregate.java +++ b/src/main/java/org/apache/sysml/lops/PartialAggregate.java @@ -283,48 +283,34 @@ public class PartialAggregate extends Lop */ @Override public String getInstructions(String input1, String output) - throws LopsException { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); + sb.append( OPERAND_DELIMITOR ); sb.append( getOpcode() ); + sb.append( OPERAND_DELIMITOR ); sb.append( getInputs().get(0).prepInputOperand(input1) ); + sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output) ); + sb.append( prepOutputOperand(output) ); - //in case of spark, we also compile the optional aggregate flag into the instruction. - if( getExecType() == ExecType.SPARK ) { - sb.append( OPERAND_DELIMITOR ); + //exec-type specific attributes + sb.append( OPERAND_DELIMITOR ); + if( getExecType() == ExecType.SPARK ) sb.append( _aggtype ); - } - - //in case of cp, we also compile the number of threads into the instruction - if( getExecType() == ExecType.CP ){ - sb.append( OPERAND_DELIMITOR ); + else if( getExecType() == ExecType.MR ) + sb.append( _dropCorr ); + else if( getExecType() == ExecType.CP ) sb.append( _numThreads ); - } return sb.toString(); } @Override - public String getInstructions(int input_index, int output_index) - throws LopsException - { - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( getOpcode() ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index) ); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output_index) ); - sb.append( OPERAND_DELIMITOR ); - sb.append( _dropCorr ); - - return sb.toString(); + public String getInstructions(int input_index, int output_index) { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } public static String getOpcode(Aggregate.OperationTypes op, DirectionTypes dir) http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/PlusMult.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/PlusMult.java b/src/main/java/org/apache/sysml/lops/PlusMult.java index 7052185..0649f49 100644 --- a/src/main/java/org/apache/sysml/lops/PlusMult.java +++ b/src/main/java/org/apache/sysml/lops/PlusMult.java @@ -32,7 +32,13 @@ import org.apache.sysml.parser.Expression.ValueType; */ public class PlusMult extends Lop { - + public PlusMult(Lop input1, Lop input2, Lop input3, OpOp3 op, DataType dt, ValueType vt, ExecType et) { + super(Lop.Type.PlusMult, dt, vt); + if(op == OpOp3.MINUS_MULT) + type=Lop.Type.MinusMult; + init(input1, input2, input3, et); + } + private void init(Lop input1, Lop input2, Lop input3, ExecType et) { addInput(input1); addInput(input2); @@ -57,13 +63,6 @@ public class PlusMult extends Lop } } - public PlusMult(Lop input1, Lop input2, Lop input3, OpOp3 op, DataType dt, ValueType vt, ExecType et) { - super(Lop.Type.PlusMult, dt, vt); - if(op == OpOp3.MINUS_MULT) - type=Lop.Type.MinusMult; - init(input1, input2, input3, et); - } - @Override public String toString() { return "Operation = PlusMult"; @@ -81,58 +80,39 @@ public class PlusMult extends Lop * input3: matrix2 */ @Override - public String getInstructions(String input1, String input2, String input3, String output) { + public String getInstructions(String input1, String input2, String input3, String output) + { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); - sb.append( OPERAND_DELIMITOR ); - sb.append(getOpString()); sb.append( OPERAND_DELIMITOR ); + sb.append( getOpString() ); - // Matrix1 - sb.append( getInputs().get(0).prepInputOperand(input1) ); + //matrix 1 sb.append( OPERAND_DELIMITOR ); + sb.append( getInputs().get(0).prepInputOperand(input1) ); - // Scalar - sb.append( getInputs().get(1).prepScalarInputOperand(input2) ); + //scalar sb.append( OPERAND_DELIMITOR ); + if( getExecType()==ExecType.MR ) + sb.append( getInputs().get(1).prepScalarLabel() ); + else + sb.append( getInputs().get(1).prepScalarInputOperand(input2) ); - // Matrix2 - sb.append( getInputs().get(2).prepInputOperand(input3)); + //matrix 2 sb.append( OPERAND_DELIMITOR ); + sb.append( getInputs().get(2).prepInputOperand(input3) ); - sb.append( prepOutputOperand(output)); + sb.append( OPERAND_DELIMITOR ); + sb.append( prepOutputOperand(output) ); return sb.toString(); } @Override - public String getInstructions(int input1, int input2, int input3, int output) - throws LopsException - { - StringBuilder sb = new StringBuilder(); - - sb.append( getExecType() ); - sb.append( OPERAND_DELIMITOR ); - - sb.append(getOpString()); - sb.append( OPERAND_DELIMITOR ); - - // Matrix1 - sb.append( getInputs().get(0).prepInputOperand(input1) ); - sb.append( OPERAND_DELIMITOR ); - - // Scalar - sb.append( getInputs().get(1).prepScalarLabel() ); - sb.append( OPERAND_DELIMITOR ); - - // Matrix2 - sb.append( getInputs().get(2).prepInputOperand(input3)); - sb.append( OPERAND_DELIMITOR ); - - sb.append( prepOutputOperand(output)); - - return sb.toString(); + public String getInstructions(int input1, int input2, int input3, int output) { + return getInstructions(String.valueOf(input1), String.valueOf(input2), + String.valueOf(input3), String.valueOf(output)); } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/ReBlock.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/ReBlock.java b/src/main/java/org/apache/sysml/lops/ReBlock.java index ec3d647..b8d4e14 100644 --- a/src/main/java/org/apache/sysml/lops/ReBlock.java +++ b/src/main/java/org/apache/sysml/lops/ReBlock.java @@ -32,7 +32,6 @@ import org.apache.sysml.parser.Expression.ValueType; */ public class ReBlock extends Lop { - public static final String OPCODE = "rblk"; private boolean _outputEmptyBlocks = true; @@ -72,19 +71,23 @@ public class ReBlock 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) { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( OPCODE ); + sb.append( "rblk" ); sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input_index)); + sb.append( getInputs().get(0).prepInputOperand(input1) ); sb.append( OPERAND_DELIMITOR ); - sb.append ( this.prepOutputOperand(output_index)); + sb.append( prepOutputOperand(output) ); sb.append( OPERAND_DELIMITOR ); sb.append( _rows_per_block ); @@ -98,37 +101,6 @@ public class ReBlock extends Lop return sb.toString(); } - @Override - public String getInstructions(String input1, String output) throws LopsException { - if(getExecType() != ExecType.SPARK) { - throw new LopsException("The method getInstructions(String,String) for Reblock should be called only for Spark execution type"); - } - - if (this.getInputs().size() == 1) { - - StringBuilder sb = new StringBuilder(); - sb.append( getExecType() ); - sb.append( Lop.OPERAND_DELIMITOR ); - sb.append( "rblk" ); - sb.append( OPERAND_DELIMITOR ); - sb.append( getInputs().get(0).prepInputOperand(input1)); - sb.append( OPERAND_DELIMITOR ); - sb.append( this.prepOutputOperand(output)); - sb.append( OPERAND_DELIMITOR ); - sb.append( _rows_per_block ); - sb.append( OPERAND_DELIMITOR ); - sb.append( _cols_per_block ); - sb.append( OPERAND_DELIMITOR ); - sb.append(_outputEmptyBlocks); - - return sb.toString(); - - } else { - throw new LopsException(this.printErrorLocation() + "Invalid number of operands (" - + this.getInputs().size() + ") for Reblock operation"); - } - } - // This function is replicated in Dag.java @SuppressWarnings("unused") private Format getChildFormat(Lop node) throws LopsException { @@ -157,8 +129,5 @@ public class ReBlock extends Lop // return getChildFormat(node.getInputs().get(0)); return node.getInputs().get(0).getOutputParameters().getFormat(); } - } - - - + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/RepMat.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/RepMat.java b/src/main/java/org/apache/sysml/lops/RepMat.java index 42adfac..0303cd9 100644 --- a/src/main/java/org/apache/sysml/lops/RepMat.java +++ b/src/main/java/org/apache/sysml/lops/RepMat.java @@ -28,7 +28,6 @@ import org.apache.sysml.parser.Expression.ValueType; public class RepMat extends Lop { - public static final String OPCODE = "rep"; private boolean _repCols = true; @@ -88,7 +87,7 @@ public class RepMat extends Lop sb.append( getInputs().get(1).prepScalarInputOperand(getExecType())); sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); + sb.append( prepOutputOperand(output_index)); return sb.toString(); } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/UAggOuterChain.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/UAggOuterChain.java b/src/main/java/org/apache/sysml/lops/UAggOuterChain.java index db693e2..6885043 100644 --- a/src/main/java/org/apache/sysml/lops/UAggOuterChain.java +++ b/src/main/java/org/apache/sysml/lops/UAggOuterChain.java @@ -101,34 +101,9 @@ public class UAggOuterChain extends Lop } @Override - public String getInstructions(int input_index1, int input_index2, int output_index) - { - StringBuilder sb = new StringBuilder(); - - //exec type - sb.append(getExecType()); - sb.append(Lop.OPERAND_DELIMITOR); - - //inst op code - sb.append(OPCODE); - sb.append(Lop.OPERAND_DELIMITOR); - - //outer operation op code - sb.append(PartialAggregate.getOpcode(_uaggOp, _uaggDir)); - sb.append(Lop.OPERAND_DELIMITOR); - - //inner operation op code - sb.append(Binary.getOpcode(_binOp)); - sb.append(Lop.OPERAND_DELIMITOR); - - //inputs and outputs - sb.append( getInputs().get(0).prepInputOperand(input_index1)); - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( getInputs().get(1).prepInputOperand(input_index2)); - sb.append(Lop.OPERAND_DELIMITOR); - sb.append( this.prepOutputOperand(output_index)); - - return sb.toString(); + public String getInstructions(int input_index1, int input_index2, int output_index) { + return getInstructions(String.valueOf(input_index1), + String.valueOf(input_index2), String.valueOf(output_index)); } @Override @@ -164,14 +139,12 @@ public class UAggOuterChain extends Lop @Override - public boolean usesDistributedCache() - { + public boolean usesDistributedCache() { return true; } @Override - public int[] distributedCacheInputIndex() - { + public int[] distributedCacheInputIndex() { return new int[]{2}; } } http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/Unary.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/Unary.java b/src/main/java/org/apache/sysml/lops/Unary.java index df2e994..087ffc4 100644 --- a/src/main/java/org/apache/sysml/lops/Unary.java +++ b/src/main/java/org/apache/sysml/lops/Unary.java @@ -360,9 +360,8 @@ public class Unary extends Lop } @Override - public String getInstructions(int input_index, int output_index) - throws LopsException { - return getInstructions(""+input_index, ""+output_index); + public String getInstructions(int input_index, int output_index) throws LopsException { + return getInstructions(String.valueOf(input_index), String.valueOf(output_index)); } @Override @@ -371,26 +370,23 @@ public class Unary extends Lop { StringBuilder sb = new StringBuilder(); sb.append( getExecType() ); + sb.append( Lop.OPERAND_DELIMITOR ); sb.append( getOpcode() ); - sb.append( OPERAND_DELIMITOR ); - if ( getInputs().get(0).getDataType() == DataType.SCALAR ) { + sb.append( OPERAND_DELIMITOR ); + if ( getInputs().get(0).getDataType() == DataType.SCALAR ) sb.append( getInputs().get(0).prepScalarInputOperand(getExecType())); - } - else { + else sb.append( getInputs().get(0).prepInputOperand(input1)); - } - sb.append( OPERAND_DELIMITOR ); - if ( getInputs().get(1).getDataType() == DataType.SCALAR ) { + sb.append( OPERAND_DELIMITOR ); + if ( getInputs().get(1).getDataType() == DataType.SCALAR ) sb.append( getInputs().get(1).prepScalarInputOperand(getExecType())); - } - else { + else sb.append( getInputs().get(1).prepInputOperand(input2)); - } - sb.append( OPERAND_DELIMITOR ); + sb.append( OPERAND_DELIMITOR ); sb.append( this.prepOutputOperand(output)); return sb.toString(); @@ -455,7 +451,7 @@ public class Unary extends Lop sb.append( getInputs().get(scalarIndex).prepScalarInputOperand(getExecType())); sb.append( OPERAND_DELIMITOR ); } - sb.append( this.prepOutputOperand(outputIndex+"")); + sb.append( prepOutputOperand(outputIndex) ); return sb.toString(); http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java index cffacd6..a18de2d 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java +++ b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropy.java @@ -144,21 +144,14 @@ public class WeightedCrossEntropy extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2,3}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2,3} : new int[]{-1}; } public void setNumThreads(int k) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java index 174236f..b05beaf 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java +++ b/src/main/java/org/apache/sysml/lops/WeightedCrossEntropyR.java @@ -140,12 +140,8 @@ public class WeightedCrossEntropyR extends Lop } @Override - public boolean usesDistributedCache() - { - if( _cacheU || _cacheV ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (_cacheU || _cacheV); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedDivMM.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedDivMM.java b/src/main/java/org/apache/sysml/lops/WeightedDivMM.java index 5eb1d04..cd6a311 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedDivMM.java +++ b/src/main/java/org/apache/sysml/lops/WeightedDivMM.java @@ -187,21 +187,14 @@ public class WeightedDivMM extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2,3}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2,3} : new int[]{-1}; } public void setNumThreads(int k) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java b/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java index 2379b30..7da8b3c 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java +++ b/src/main/java/org/apache/sysml/lops/WeightedDivMMR.java @@ -139,12 +139,8 @@ public class WeightedDivMMR extends Lop } @Override - public boolean usesDistributedCache() - { - if( _cacheU || _cacheV ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (_cacheU || _cacheV); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java b/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java index 8b50c74..df6a081 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java +++ b/src/main/java/org/apache/sysml/lops/WeightedSigmoid.java @@ -132,21 +132,14 @@ public class WeightedSigmoid extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2,3}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2,3} : new int[]{-1}; } public void setNumThreads(int k) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java b/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java index b46c243..da9efd1 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java +++ b/src/main/java/org/apache/sysml/lops/WeightedSigmoidR.java @@ -28,7 +28,6 @@ import org.apache.sysml.parser.Expression.ValueType; public class WeightedSigmoidR extends Lop { - public static final String OPCODE = "redwsigmoid"; private WSigmoidType _wsType = null; @@ -127,12 +126,8 @@ public class WeightedSigmoidR extends Lop } @Override - public boolean usesDistributedCache() - { - if( _cacheU || _cacheV ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (_cacheU || _cacheV); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java b/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java index b34b3a0..c58a804 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java +++ b/src/main/java/org/apache/sysml/lops/WeightedSquaredLoss.java @@ -141,21 +141,14 @@ public class WeightedSquaredLoss extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2,3}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2,3} : new int[]{-1}; } public void setNumThreads(int k) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java b/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java index d5d5a28..f55d12c 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java +++ b/src/main/java/org/apache/sysml/lops/WeightedSquaredLossR.java @@ -131,12 +131,8 @@ public class WeightedSquaredLossR extends Lop } @Override - public boolean usesDistributedCache() - { - if( _cacheU || _cacheV ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (_cacheU || _cacheV); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java b/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java index 96007da..97e3cc8 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java +++ b/src/main/java/org/apache/sysml/lops/WeightedUnaryMM.java @@ -137,21 +137,14 @@ public class WeightedUnaryMM extends Lop } @Override - public boolean usesDistributedCache() - { - if( getExecType()==ExecType.MR ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (getExecType()==ExecType.MR); } @Override - public int[] distributedCacheInputIndex() - { - if( getExecType()==ExecType.MR ) - return new int[]{2,3}; - else - return new int[]{-1}; + public int[] distributedCacheInputIndex() { + return (getExecType()==ExecType.MR) ? + new int[]{2,3} : new int[]{-1}; } public void setNumThreads(int k) { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java b/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java index aee0ff5..36e4343 100644 --- a/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java +++ b/src/main/java/org/apache/sysml/lops/WeightedUnaryMMR.java @@ -133,12 +133,8 @@ public class WeightedUnaryMMR extends Lop } @Override - public boolean usesDistributedCache() - { - if( _cacheU || _cacheV ) - return true; - else - return false; + public boolean usesDistributedCache() { + return (_cacheU || _cacheV); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 086e3dc..45cb7f9 100644 --- a/src/main/java/org/apache/sysml/lops/ZeroOut.java +++ b/src/main/java/org/apache/sysml/lops/ZeroOut.java @@ -117,7 +117,10 @@ public class ZeroOut extends Lop * be derived from input lops. */ - return getInstructions(Integer.toString(input_index1), input_index2+"", input_index3+"", input_index4+"", input_index5+"", Integer.toString(output_index)); + return getInstructions( + String.valueOf(input_index1), String.valueOf(input_index2), + String.valueOf(input_index3), String.valueOf(input_index4), + String.valueOf(input_index5), String.valueOf(output_index)); } @Override http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/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 5b10677..71171d0 100644 --- a/src/main/java/org/apache/sysml/lops/compile/Dag.java +++ b/src/main/java/org/apache/sysml/lops/compile/Dag.java @@ -717,10 +717,8 @@ public class Dag<N extends Lop> //send write lop to MR if (1) it is marked with exec type MR (based on its memory estimate), or //(2) if the input lop is in MR and the write format allows to pack it into the same job (this does //not apply to csv write because MR csvwrite is a separate MR job type) - if( node.getExecType() == ExecType.MR || (in.getExecType() == ExecType.MR && nodeFormat != Format.CSV ) ) - return true; - else - return false; + return (node.getExecType() == ExecType.MR + || (in.getExecType() == ExecType.MR && nodeFormat != Format.CSV)); } /** @@ -1868,11 +1866,7 @@ public class Dag<N extends Lop> } } - if( (tmpNode.getCompatibleJobs() & node.getCompatibleJobs()) > 0) - return true; - else - return false; - + return ( (tmpNode.getCompatibleJobs() & node.getCompatibleJobs()) > 0); } /** http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/86a8e148/src/main/java/org/apache/sysml/lops/compile/JobType.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/lops/compile/JobType.java b/src/main/java/org/apache/sysml/lops/compile/JobType.java index 8403497..0ca5b49 100644 --- a/src/main/java/org/apache/sysml/lops/compile/JobType.java +++ b/src/main/java/org/apache/sysml/lops/compile/JobType.java @@ -213,10 +213,7 @@ public enum JobType } public boolean allowsRecordReaderInstructions() { - if ( getName().equals("GMR") ) - return true; - else - return false; + return getName().equals("GMR"); } public int getBase() {
