Repository: systemml
Updated Branches:
  refs/heads/master 305eb28c4 -> b420baa2e


[SYSTEMML-2404] Fix robustness codegen fusion multiple biasadd/biadmult 

This patch improves the robustness of codegen biasadd/biadmult for
scenarios where the left-hand-side input is a side input itself (e.g.,
when fusing multiple biasadd/biasmult over different inputs into a
shared fused operator).


Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/b420baa2
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/b420baa2
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/b420baa2

Branch: refs/heads/master
Commit: b420baa2e20dfa4566a6adf3497a9cf9d5f4bec3
Parents: 305eb28
Author: Matthias Boehm <[email protected]>
Authored: Sat Jun 16 17:43:48 2018 -0700
Committer: Matthias Boehm <[email protected]>
Committed: Sat Jun 16 17:43:48 2018 -0700

----------------------------------------------------------------------
 .../java/org/apache/sysml/hops/codegen/template/TemplateCell.java   | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/b420baa2/src/main/java/org/apache/sysml/hops/codegen/template/TemplateCell.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateCell.java 
b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateCell.java
index dda6665..3789b3f 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/template/TemplateCell.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/template/TemplateCell.java
@@ -237,6 +237,7 @@ public class TemplateCell extends TemplateBase
                }
                else if( HopRewriteUtils.isDnn(hop, OpOpDnn.BIASADD, 
OpOpDnn.BIASMULT) ) {
                        CNode cdata1 = 
tmp.get(hop.getInput().get(0).getHopID());
+                       cdata1 = TemplateUtils.wrapLookupIfNecessary(cdata1, 
hop.getInput().get(0));
                        CNode cdata2 = 
tmp.get(hop.getInput().get(1).getHopID());
                        long c = hop.getInput().get(0).getDim2() / 
hop.getInput().get(1).getDim1();
                        CNode cdata3 = TemplateUtils.createCNodeData(new 
LiteralOp(c), true);

Reply via email to