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

Reply via email to