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