Repository: incubator-systemml Updated Branches: refs/heads/master 873229f30 -> 640f65463
[SYSTEMML-762] Adding a fix to avoid unnecessary local MR jobs for Lenet script Project: http://git-wip-us.apache.org/repos/asf/incubator-systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-systemml/commit/640f6546 Tree: http://git-wip-us.apache.org/repos/asf/incubator-systemml/tree/640f6546 Diff: http://git-wip-us.apache.org/repos/asf/incubator-systemml/diff/640f6546 Branch: refs/heads/master Commit: 640f65463d82cb05329e3e8eb6936a8e0ebcff33 Parents: 873229f Author: Niketan Pansare <npan...@us.ibm.com> Authored: Thu Jun 23 10:13:22 2016 -0700 Committer: Niketan Pansare <npan...@us.ibm.com> Committed: Thu Jun 23 10:13:22 2016 -0700 ---------------------------------------------------------------------- .../org/apache/sysml/hops/ConvolutionOp.java | 51 +++++++++----------- .../sysml/runtime/util/ConvolutionUtils.java | 36 +++++++------- 2 files changed, 40 insertions(+), 47 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/640f6546/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 751da51..3ec597b 100644 --- a/src/main/java/org/apache/sysml/hops/ConvolutionOp.java +++ b/src/main/java/org/apache/sysml/hops/ConvolutionOp.java @@ -23,7 +23,6 @@ import java.util.ArrayList; import org.apache.sysml.conf.ConfigurationManager; import org.apache.sysml.hops.Hop.MultiThreadedHop; -import org.apache.sysml.hops.rewrite.HopRewriteUtils; import org.apache.sysml.lops.ConvolutionTransform; import org.apache.sysml.lops.Lop; import org.apache.sysml.lops.LopsException; @@ -424,31 +423,31 @@ public class ConvolutionOp extends Hop implements MultiThreadedHop || op == ConvOp.DIRECT_CONV2D_BACKWARD_FILTER || op == ConvOp.DIRECT_CONV2D_BACKWARD_DATA) { params = new ConvolutionParameters( - extractValue(getInput().get(6)), - extractValue(getInput().get(7)), - extractValue(getInput().get(8)), - extractValue(getInput().get(9)), - extractValue(getInput().get(10)), - extractValue(getInput().get(12)), - extractValue(getInput().get(13)), - extractValue(getInput().get(2)), - extractValue(getInput().get(3)), - extractValue(getInput().get(4)), - extractValue(getInput().get(5)), _maxNumThreads); + computeSizeInformation(getInput().get(6)), + computeSizeInformation(getInput().get(7)), + computeSizeInformation(getInput().get(8)), + computeSizeInformation(getInput().get(9)), + computeSizeInformation(getInput().get(10)), + computeSizeInformation(getInput().get(12)), + computeSizeInformation(getInput().get(13)), + computeSizeInformation(getInput().get(2)), + computeSizeInformation(getInput().get(3)), + computeSizeInformation(getInput().get(4)), + computeSizeInformation(getInput().get(5)), _maxNumThreads); } else { params = new ConvolutionParameters( - extractValue(getInput().get(5)), - extractValue(getInput().get(6)), - extractValue(getInput().get(7)), - extractValue(getInput().get(8)), - extractValue(getInput().get(9)), - extractValue(getInput().get(11)), - extractValue(getInput().get(12)), - extractValue(getInput().get(1)), - extractValue(getInput().get(2)), - extractValue(getInput().get(3)), - extractValue(getInput().get(4)), _maxNumThreads); + computeSizeInformation(getInput().get(5)), + computeSizeInformation(getInput().get(6)), + computeSizeInformation(getInput().get(7)), + computeSizeInformation(getInput().get(8)), + computeSizeInformation(getInput().get(9)), + computeSizeInformation(getInput().get(11)), + computeSizeInformation(getInput().get(12)), + computeSizeInformation(getInput().get(1)), + computeSizeInformation(getInput().get(2)), + computeSizeInformation(getInput().get(3)), + computeSizeInformation(getInput().get(4)), _maxNumThreads); } return params; } @@ -558,12 +557,6 @@ public class ConvolutionOp extends Hop implements MultiThreadedHop } } - public static long extractValue(Hop hop) { - if(hop instanceof LiteralOp) - return (long) HopRewriteUtils.getDoubleValueSafe((LiteralOp)hop); - return -1; - } - @Override public Object clone() throws CloneNotSupportedException { http://git-wip-us.apache.org/repos/asf/incubator-systemml/blob/640f6546/src/main/java/org/apache/sysml/runtime/util/ConvolutionUtils.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/util/ConvolutionUtils.java b/src/main/java/org/apache/sysml/runtime/util/ConvolutionUtils.java index c6ca53a..9def65a 100644 --- a/src/main/java/org/apache/sysml/runtime/util/ConvolutionUtils.java +++ b/src/main/java/org/apache/sysml/runtime/util/ConvolutionUtils.java @@ -96,10 +96,10 @@ public class ConvolutionUtils { } // K, C * R * S - long K = ConvolutionOp.extractValue(inputs.get(10)); - long C = ConvolutionOp.extractValue(inputs.get(7)); - long R = ConvolutionOp.extractValue(inputs.get(12)); - long S = ConvolutionOp.extractValue(inputs.get(13)); + long K = currentHop.computeSizeInformation(inputs.get(10)); + long C = currentHop.computeSizeInformation(inputs.get(7)); + long R = currentHop.computeSizeInformation(inputs.get(12)); + long S = currentHop.computeSizeInformation(inputs.get(13)); long rlen = K; long clen = ConvolutionOp.getExtractedVal(C, R, S); return ConvolutionOp.constructFusedConvolutionLops(et, inputs, ConvOp.DIRECT_CONV2D_BACKWARD_FILTER, (ConvolutionOp) x_col, rlen, clen); @@ -130,16 +130,16 @@ public class ConvolutionUtils { } // N, K * P * Q - long N = ConvolutionOp.extractValue(inputs.get(6)); - long H = ConvolutionOp.extractValue(inputs.get(8)); - long W = ConvolutionOp.extractValue(inputs.get(9)); - long K = ConvolutionOp.extractValue(inputs.get(10)); - long R = ConvolutionOp.extractValue(inputs.get(12)); - long S = ConvolutionOp.extractValue(inputs.get(13)); - long stride_h = ConvolutionOp.extractValue(inputs.get(2)); - long stride_w = ConvolutionOp.extractValue(inputs.get(3)); - long pad_h = ConvolutionOp.extractValue(inputs.get(4)); - long pad_w = ConvolutionOp.extractValue(inputs.get(5)); + long N = currentHop.computeSizeInformation(inputs.get(6)); + long H = currentHop.computeSizeInformation(inputs.get(8)); + long W = currentHop.computeSizeInformation(inputs.get(9)); + long K = currentHop.computeSizeInformation(inputs.get(10)); + long R = currentHop.computeSizeInformation(inputs.get(12)); + long S = currentHop.computeSizeInformation(inputs.get(13)); + long stride_h = currentHop.computeSizeInformation(inputs.get(2)); + long stride_w = currentHop.computeSizeInformation(inputs.get(3)); + long pad_h = currentHop.computeSizeInformation(inputs.get(4)); + long pad_w = currentHop.computeSizeInformation(inputs.get(5)); long P = -1; long Q = -1; if(H > 0 && R > 0 && stride_h > 0 && pad_h > 0) P = ConvolutionUtils.getP(H, R, stride_h, pad_h); @@ -177,10 +177,10 @@ public class ConvolutionUtils { } // N, C * H * W - long N = ConvolutionOp.extractValue(inputs.get(6)); - long C = ConvolutionOp.extractValue(inputs.get(7)); - long H = ConvolutionOp.extractValue(inputs.get(8)); - long W = ConvolutionOp.extractValue(inputs.get(9)); + long N = currentHop.computeSizeInformation(inputs.get(6)); + long C = currentHop.computeSizeInformation(inputs.get(7)); + long H = currentHop.computeSizeInformation(inputs.get(8)); + long W = currentHop.computeSizeInformation(inputs.get(9)); long rlen = N; long clen = ConvolutionOp.getExtractedVal(C, H, W); return ConvolutionOp.constructFusedConvolutionLops(et, inputs, ConvOp.DIRECT_CONV2D_BACKWARD_DATA, (ConvolutionOp) rotate180, rlen, clen);